0

我有一个遗留的 vb6 代码,它调用 c++ 来显示 MFC 对话框。调用 AfxGetResourceHandle 将 dll 的资源加载到内存中会导致调试断言。有人做过吗?

    HINSTANCE priorRes = AfxGetResourceHandle();

    if (m_MDCommonDll == NULL)
    {
        m_MDCommonDll = LoadLibrary("MyDll.dll");
    }

    AfxSetResourceHandle(m_MDCommonDll);

如果这是不可能的,有没有办法检测调用者是否来自 vb6,以便我可以跳过显示 UI?

谢谢

4

1 回答 1

1

如果混合发布和调试构建 DLL,AfxGetResourceHandle() 可以抛出调试断言。确保您的 .exe 和它加载的任何 .dll 都构建为发布版或调试版。

于 2012-08-16T08:49:14.487 回答