解决:调MFC dll时发生AfxGetInstanceHandle()断言错误

清泛原创
 
调用HINSTANCE hInst = AfxGetInstanceHandle();
程序在ASSERT(afxCurrentInstanceHandle != NULL);崩溃

说明:这个函数使你能够获得当前应用程序的实例句柄。AfxGetInstanceHandle总是返回代表你的可执行文件(.EXE)的HINSTANCE值,除非它从与MFC的USRDLL版本连接的DLL内调用的。在这种情况下,它返回的是DLL的HINSTANCE值。

解决:相应的地方(如DLL函数入口等)添加以下两行代码
afxCurrentInstanceHandle = _AtlBaseModule.GetModuleInstance();
afxCurrentResourceHandle = _AtlBaseModule.GetResourceInstance();

AfxGetInstanceHandle 断言

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部