关于Cwnd::Create()函数出现afxwin1.inl line:21错误的解决方法

我最近在调试一个dll时,出现了一个莫名的断言错误,就是在主程序中创建由MFC 扩展DLL导出的一个控件(该控件继承自CWnd类)时,一调用Create()函数就出现下面的的断言错误:

关于Cwnd::Create()函数出现afxwin1.inl  line:21错误的解决方法


调试跟进去:

file:afxwin1.inl 

line:21 

发现是下面的断言语句报错:

_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
{

ASSERT(afxCurrentResourceHandle != NULL);//这里出错!
return afxCurrentResourceHandle; 

}

费了很大的周折才解决,其实就是犯了一个很低级的错误,dll的字符集不匹配,mfc dll的字符集为UNICODE,但 我调用Create()函数时传进去的窗口名为ansi字符集,所以不匹配!


关于Cwnd::Create()函数出现afxwin1.inl line:21错误的解决方法

上一篇:Arcgis apis for flex项目实例—开发篇(5):查询


下一篇:windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载