码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2014-10-09 19:28:37      阅读:528      评论:0      收藏:0      [点我收藏+]

标签:afxwin1.inl   21   afxcurrentresourceha   assert   create   

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

bubuko.com,布布扣


调试跟进去:

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错误的解决方法

标签:afxwin1.inl   21   afxcurrentresourceha   assert   create   

原文地址:http://blog.csdn.net/cbnotes/article/details/39933439

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!