dll專案中添加基于CDialog的對話框類CMainDlg
//實體化對話框
CMainDlg *mainDlg;
mainDlg=new CMainDlg;
mainDlg->Create(IDD_DIALOG_Main); //執行到此處程式崩潰
mainDlg->ShowWindow(SW_SHOW);
1、常規方案:函式頭部添加AFX_MANAGE_STATE(AfxGetStaticModuleState())即可。
上述宏定義與DllMain()入口函式會導致“fatal error LNK1169: 找到一個或多個多重定義的符號”的錯誤。
2、當前將就方案:
HINSTANCE exe_hInstance = GetModuleHandle(NULL);
HINSTANCE dll_hInstance = GetModuleHandle("Test.dll");
AfxSetResourceHandle(dll_hInstance); //切換狀態
//函式主體
AfxSetResourceHandle(exe_hInstance); //恢復狀態
該方案顯示對話框前,需要忽略兩次bug提示:afxwin1.inl line:21
專案屬性字符集已改為未設定。該方案如能修復bug提示也不失為一個完美方案!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/282447.html
標籤:進程/線程/DLL
上一篇:用Clipper剪裁庫的輪廓偏移ClipperOffset是,出現abort()報錯
下一篇:資料結構
