触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因

来源:互联网 发布:巨人网络小怪兽工作室 编辑:程序博客网 时间:2024/06/05 15:24
原文地址:http://blog.sina.com.cn/s/blog_53061af00100uegc.html

使用MFC库中的某些资源,但是MFC并没有被初始化.
这种情况多发生在atl和其它非MFC工程,后追加MFC的头文件获得了部分支持

现象:
1) 编译可以通过 
2)有些MFC类可以使用  3) 使用CRectTracker, CMenu.LoadMenu,DLL资源时出现触发ASSERT(afxCurrentResourceHandle != NULL)错误

解决办法:

在模块初始化后,要使用的MFC类前,添加如下代码:

   // MFC初始化
   if(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0))
   {
     return -1;
   }
0 0