0
我必須使用Visual Studio 2012在C#應用程序中調用示例MFC視圖。我使用C++/CLI項目並從C#中調用C++類。要做到這一點我必須使用此行代碼
AFX_MANAGE_STATE(AfxGetStaticModuleState());
這將調用MFC DLL資源的資源句柄,而不是默認的資源(在C#exe文件)。在MFC視圖運行正常,但出現的異常值(以C消息框):
Debug Assertion Failed on \$InstallDir\VC\atlmfc\src\mfc\olelock.cpp line 62
這裏是我的安裝目錄檢查源代碼:
void AFXAPI AfxOleUnlockApp()
{
AFX_MODULE_STATE* pModuleState = AfxGetModuleState();
ASSERT(pModuleState->m_nObjectCount != 0);
if (InterlockedDecrement(&pModuleState->m_nObjectCount) == 0)
{
// allow application to shut down when all the objects have
// been released
::AfxOleOnReleaseAllObjects();
}
}
我怎樣才能避免這種說法對嗎?感謝您的支持。
什麼時候斷言發生?在關機時?在啓動?顯示MFC視圖後?顯示MFC視圖後顯示 – 2014-11-05 19:46:32
。在這種情況下,視圖顯示在WPF中的網格中。 – 2014-11-06 01:57:56