MFC 下的dl文件和外部程序的冲突问题

在MFC下写dll文件会用到CWnd, CDialog等资源,但这些资源和利用该dll文件的程序的资源造成冲突,出现崩溃;

其时在写dll文件,尤其是MFC下的dll文件,要标明资源属于内部的,这样内外资源就不会冲突。抱歉了各位看官,我也感觉我废话多,直接上代码


在接口的主CPP下添加:

HINSTANCE save_hInstance = NULL;                                                   //全局变量

save_hInstance = AfxGetResourceHandle();                                        //申请资源句柄,在dll接口创建内部窗口前调用

AfxSetResourceHandle(::GetModuleHandle("XXXX.dll"));                  //注意动态库的名字


这样就告诉程序,资源不属于同一个模块


注意: 我个人发现没有找到原因, 假如dll文件的release版而外部程序是debug版,会出现申请的资源句柄为空,本来我以为错误,后来用获取错误信息的函数,发现返回值为0没有错误,所以,在用的时候一定要分清版本



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值