毕业设计写一个关于网络的项目,在客户端把WSAAsyncSelect网络模型封装在了动态链接库中,点击运行,在UI线程中发现,创建一个CFrameWnd窗口的时候程序报错了,均显示ASSERT(afxCurrentResourceHandle != NULL)断言错误。
在网上找了好多资料,看(dou)不(bu)懂(xing),哈哈,后来在MFC自带的注释中发现了答案。
//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,
// 则从此 DLL 导出的任何调入
// MFC 的函数必须将 AFX_MANAGE_STATE 宏添加到
// 该函数的最前面。
//
// 例如:
//
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
// {
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// // 此处为普通函数体
// }

在毕业设计的网络项目中,作者遇到将WSAAsyncSelect模型封装到MFC动态链接库(DLL)后,UI线程创建CFrameWnd窗口失败的问题。错误表现为ASSERT(afxCurrentResourceHandle != NULL)的断言错误。经过查找资料和研究MFC注释,作者找到了解决办法并已验证有效。
中创建窗口失败&spm=1001.2101.3001.5002&articleId=46500599&d=1&t=3&u=cd858b9428bb4b969f73c6c8afa0d424)
129

被折叠的 条评论
为什么被折叠?



