情况是这样的-->
有一个主程序(exe)会调用我写的DLL,
在主程序界面执行某个操作,会调用DLL中的一个函数,而这个函数做的事情是,
当满足一定条件时:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDlg m_dlg;
m_dlg.DoModal();结果发生:Debug Assertion Failed!
并且指明了是objcore.cpp的问题,单步调试进去,程序停在了:
BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
ENSURE(this != NULL);
......
}
继续运行下去,就会destroyWindow(),把DoModal window销毁看了网上很多帖子,说是模块资源问题...但用了AFX_MANAGE_STATE也没效果啊
有一个主程序(exe)会调用我写的DLL,
在主程序界面执行某个操作,会调用DLL中的一个函数,而这个函数做的事情是,
当满足一定条件时:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDlg m_dlg;
m_dlg.DoModal();结果发生:Debug Assertion Failed!
并且指明了是objcore.cpp的问题,单步调试进去,程序停在了:
BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
ENSURE(this != NULL);
......
}
继续运行下去,就会destroyWindow(),把DoModal window销毁看了网上很多帖子,说是模块资源问题...但用了AFX_MANAGE_STATE也没效果啊
可以在release模式下运行DLL文件,让exe去调用它...release省去不少麻烦啊如果哪位大虾可以从根本上解决就好啦!
把旧帖子翻出来,O(∩_∩)O~
比如主程序使用x86CPU,dll也要使用x86CPU,
就不会出现问题