MFC 应用程序调用 MFC 带窗体的dll Release下AfxGetInstanceHandle断言出错的问题
问题背景:
1.先写了MFC扩展DDL的项目,这个dll包含窗体,其实是一个插件项目。
2.再写了一个MFC窗体,调用该dll,显示dll中的dialog,在Debug版本下的是,运行没有问题,在release版本下,编译没问题,运行的时候,进入afxwin1.inl中
_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetInstanceHandle()
{
ASSERT(afxCurrentInstanceHandle != NULL);
return afxCurrentInstanceHandle;
}
晚上查阅是说dll资源与exe资源的问题,dll有自己独立的资源,当exe调用dll的是,需要资源切换,但是不知道具体怎么解决这个问题,之后我直接在Release中使用NDEBUG预处理定义,这样做,就是取消进入assert。但是吧,错误提示虽然没有了,但是吧,总觉得这样做不对,求大家指导。