0

MFCダイアログを表示するためにc++を呼び出すレガシーvb6コードがあります。AfxGetResourceHandleを呼び出してdllのリソースをメモリにロードすると、デバッグアサートが発生します。誰かがこれをしましたか?

    HINSTANCE priorRes = AfxGetResourceHandle();

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

    AfxSetResourceHandle(m_MDCommonDll);

これが不可能な場合、UIの表示をスキップできるように、呼び出し元がvb6からのものであるかどうかを検出する方法はありますか?

ありがとう

4

1 に答える 1

1

リリース ビルド DLL とデバッグ ビルド DLL を混在させると、AfxGetResourceHandle( ) はデバッグ アサートをスローする可能性があります。.exe とそれがロードするすべての .dll がすべてリリースまたはデバッグとしてビルドされていることを確認してください。

于 2012-08-16T08:49:14.487 に答える