读书人

MFC规则Dll的有关问题

发布时间: 2012-02-22 19:36:55 作者: rapoo

MFC规则Dll的问题。
写一个MFC规则动态链接库(regularDll.dll),在这个里面写一个函数
extern "C " _declspec(dllexport) void ShowDlg(void)
{
CMyDlg dlg;
dlg.DoModal();
AfxMessageBox( "hello ");
}
建立一个基于对话框的应用程序CallDll,添加一个按钮,在OnBtn1(){}里调用
ShowDlg函数,可以成功显示hello消息框,但是不能显示对话框,这是为什么啊,
断点调试,发现对话框执行了:if (lpDialogTemplate == NULL) return -1;可见对话框资源加载失败,这是为什么啊?高手请指教。

[解决办法]
使用的资源不对,应该用的是DLL资源,但用了应用程序的,
加 AFX_MANAGE_STATE(AfxGetStaticModuleState());
extern "C " _declspec(dllexport) void ShowDlg(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyDlg dlg;
dlg.DoModal();
AfxMessageBox( "hello ");
}

读书人网 >VC/MFC

热点推荐