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

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



调试跟进去:

file:afxwin1.inl 

line:21 

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

_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
{

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

}

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值