我有一个传统的vb6代码,它调用c ++来显示MFC对话框。 调用AfxGetResourceHandle将dll的资源加载到内存会导致调试断言。 有没有人这样做过?
HINSTANCE priorRes = AfxGetResourceHandle();
if (m_MDCommonDll == NULL)
{
m_MDCommonDll = LoadLibrary("MyDll.dll");
}
AfxSetResourceHandle(m_MDCommonDll);
如果无法做到这一点,有没有办法检测调用者是否来自vb6,以便我可以跳过显示用户界面?
由于
答案 0 :(得分:1)
如果混合发布和调试构建DLL,AfxGetResourceHandle()可以抛出调试断言。确保你的.exe和它加载的任何.dll都被构建为release或debug。