这种错误的原因是由于要使用MFC库中的某些资源,但是MFC并没有被初始化.
这种情况多发生在atl和其它非MFC工程,后追加MFC的头文件获得了部分支持
现象:1) 编译可以通过 2)有些MFC类可以使用 3) 使用CRectTracker, CMenu.LoadMenu....时出现触发ASSERT(afxCurrentResourceHandle != NULL)错误
解决办法:
在模块初始化后,要使用的MFC类前,添加如下代码:
//!!!!MFC初始化
if(!AfxWinInit(::GetModuleHandle(NULL),NULL,::GetCommandLine(),0))
{
//??_Module.LogEvent(_T("MFC初始化错误!"), EVENTLOG_ERROR_TYPE );
return 1;
}