MFC 页面打包成DLL 的方法 _ 解决Max导出插件的windows.h 头文件冲突

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

在DLL内的函数中, 加 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 这句 加了才不会报错,例如:windows

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

教程中教咱们写.def文件, 其实把这个文件删了免得写 为了避免与主工程的windows.h头文件加载相冲突, 不像教程中那样加导出标识, 而是:函数

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

我在CSDN提的问题有解决了:post

MFC会提示, 不能加载windows.h 可是本来那个工程就是有加载windows.h的. MFC工程能不能打包成DLL? 答案是能, 可是如何给其它工程调用 . 一调用就崩溃, 调用个DoModal()就崩溃 若是MFC打包dll是可行的, 要如何找到相关的教程? 个人目的是: 在3ds max 导出插件中, 显示MFC的网页控件, 显示一个新窗口也行. 有没有现成的解决方案代替 https://bbs.csdn.net/topics/392582148?page=1#post-403845515.net

相关文章
相关标签/搜索