我在DLL添加了一个CMyDlg的对话框class,
用CGetDlg类将其封装,其主要调用CMyDlg的函数是
void CGetDlg::Run()
{
    CMyDlg* dlg;
dlg = new CMyDlg(this);
    if(dlg->Create())
{
if(dlg->DoModal()==IDOK)
{
int n=0;
}
}
}但是在执行if(dlg->DoModal()==IDOK)的时候出错,究竟该如何调用该对话框类,让其显示!

解决方案 »

  1.   

    你的对话框类资源在dll里,所以运行时需要切换资源,举例 HINSTANCE hInstOld = AfxGetResourceHandle();//保存资源handle
    AfxSetResourceHandle(DlgDLL.hModule);//切换到dll资源hanlde         CMyDlg* dlg;
    dlg = new CMyDlg(this);
             if(dlg->Create())
    {
    if(dlg->DoModal()==IDOK)
    {
    int n=0;
    }
    }
    AfxSetResourceHandle(hInstOld);//恢复资源handle
      

  2.   

    那你是建立的扩展MFC DLL吗!!!!!
      

  3.   

    http://www.vcroad.com/shownews.asp?newsid=993