您的位置:首页 > 大数据 > 人工智能

Debug Assertion Failed! File:afxwin1.inl Line:22

2011-03-22 23:02 393 查看
这种断言估计是尝试去load一个未分配的资源id造成的。

 

如果是 dll 的问题:

首先分析是哪个函数调用之后,出现 AfxGetResourceHandle()==NULL 的问题;
然后,
  如果这个 dll 是自己的 MFC 库,在输出函数的时候第一行,使用 AFX_xxx 的那个宏定义;
  如果这个 dll 是第三方的,在调用前通过 AfxGetResourceHandle() 保存当前 HANDLE 值,在调用函数之后,调用 AfxSetResourceHandle() 恢复 HANDLE 值;
  或者,你是否在 dll 的某个 callback 中调用函数的时候出现这个 ASSERT 的错误了;如果是,想办法在函数调用前,把 resource 的 HANDLE 保存起来进行调用。(这个比较复杂,可能没有讲清楚)

如果是修改 .rc 文件导致的问题,看看是否你的 resource.h 中某些 ID 值范围与缺省的资源 ID 进行冲突了,找到冲突的 ID 值,修改 resource.h ,然后 rebuild all。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  file dll callback mfc null