1. 程式人生 > >MFC 頁面打包成DLL 的方法 _ 解決Max匯出外掛的windows.h 標頭檔案衝突

MFC 頁面打包成DLL 的方法 _ 解決Max匯出外掛的windows.h 標頭檔案衝突

教程: https://jingyan.baidu.com/album/49711c619e0e20fa451b7c40.html

在DLL內的函式中, 加 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 這句 加了才不會報錯,例如:

void Dlg3()
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	CLoginDlg3 *dlg = new CLoginDlg3;
	dlg->DoModal(); 
}

教程中教我們寫.def檔案, 其實把這個檔案刪了省得寫 為了不與主工程的windows.h標頭檔案載入相沖突, 不像教程中那樣加匯出標識, 而是:

extern "C" void __declspec(dllexport) Dlg3();

我在CSDN提的問題有解決了:

MFC會提示, 不能載入windows.h 但是原本那個工程就是有載入windows.h的. MFC工程能不能打包成DLL? 答案是能, 但是如何給其它工程呼叫 . 一呼叫就崩潰, 呼叫個DoModal()就崩潰 如果MFC打包dll是可行的, 要如何找到相關的教程? 我的目的是: 在3ds max 匯出外掛中, 顯示MFC的網頁控制元件, 顯示一個新視窗也行. 有沒有現成的解決方案代替 https://bbs.csdn.net/topics/392582148?page