请问怎么用用dll显示对话框资源? 我设计了一个dll其中有一个对话框资源,在应用程序中使用,可是对话框无法显示出来,但是函数执行成功。请问怎么样才可以让应用程序调用dll时能显示那个对话框呢?谢谢…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我们项目中的典型应用:-------------{ HINSTANCE hOldInst = AfxGetResourceHandle(); HINSTANCE hDll = AfxLoadLibrary( "XXXX.dll" ); if ( hDll!=NULL ) { AfxSetResourceHandle( hDll ); CXXXXDlg dlg; //-- this dlg is in DLL resource. dlg.Setxxxxx( some parameters ); if( IDOK == dlg.DoModal() ) { } } AfxSetResourceHandle( hOldInst ); AfxFreeLibrary( hDll ); } dllmain函数前面的static AFX_EXTENSION_MODULE mydll = { NULL, NULL };去掉static在你的导出类声明前加上_declspec(dllexport)因为你的mydll声明是全局的还要在应用程序头文件中声明extern AFX_EXTENSION_MODULE mydll;使用的时候HINSTANCE hInstOld = AfxGetResourceHandle();AfxSetResourceHandle(mydll.hModule); to CCsdnCC(白勢槅) :CXXXXDLG既然是dll内部的资源怎么会有定义呢?我的意思就是我调用dll的一个方法,方法中显示一个对话框…… to webber84(糕鱼昏) 我试试你的方法哈 to webber84(糕鱼昏) 我试试你的方法哈 如果你的DLL dynamically linked against the MFC DLLs,即不使用Static Library连接,应加上下面的一句作为你的DLL输出函数的第一句:AFX_MANAGE_STATE(AfxGetStaticModuleState()); 如果你的DLL dynamically linked against the MFC DLLs,即不使用Static Library连接,应加上下面的一句作为你的DLL输出函数的第一句:AFX_MANAGE_STATE(AfxGetStaticModuleState()); #define宏中不进行某些语法检查? 客户端应该使用哪种网络模型 vs2008中调试程序时出现关于堆的异常 【讨论】现有C++板块合并 VC实现bmp格式转换为PDF? vc++中如何对端口进行操作? 如何将CString数据 赋给char *类型!(在线等待,立结) 就山请教在链表中如果值相同,如何删除其余的,只是保留一个。 如何使EDIT的背景色按要求变化 关于CFileDialog的一个简单问题! 求二句中译英~~~ 我是VC的初学者请问大家应如何学起
-------------
{
HINSTANCE hOldInst = AfxGetResourceHandle();
HINSTANCE hDll = AfxLoadLibrary( "XXXX.dll" );
if ( hDll!=NULL )
{
AfxSetResourceHandle( hDll );
CXXXXDlg dlg; //-- this dlg is in DLL resource.
dlg.Setxxxxx( some parameters );
if( IDOK == dlg.DoModal() )
{
}
}
AfxSetResourceHandle( hOldInst );
AfxFreeLibrary( hDll );
}
static AFX_EXTENSION_MODULE mydll = { NULL, NULL };去掉static
在你的导出类声明前加上_declspec(dllexport)
因为你的mydll声明是全局的
还要在应用程序头文件中声明extern AFX_EXTENSION_MODULE mydll;
使用的时候
HINSTANCE hInstOld = AfxGetResourceHandle();
AfxSetResourceHandle(mydll.hModule);
AFX_MANAGE_STATE(AfxGetStaticModuleState());
AFX_MANAGE_STATE(AfxGetStaticModuleState());