您的位置:首页 > 其它

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

2009-03-09 08:43 477 查看
这种错误的原因是由于要使用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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: