我在DLL里面建了一个对话框类CTest 
然后使用
CTest test;
test.DoModal (); 建立模式对话框没有问题!
但是使用 
CTest *dlg=new CTest;
dlg->Create(IDD_DIALOG1,NULL);
dlg->ShowWindow(SW_SHOW);
运行EXE调用这个对话框的时候却要出错!怎么回事!?在线等待答案!
EXE中调用的代码如下:
typedef void (WINAPI * TESTDLL)();
    HINSTANCE hmod;
    hmod = ::LoadLibrary ("mfcdll.dll");
    if(hmod==NULL)
{
  AfxMessageBox("Fail");
}
    TESTDLL lpproc;
    lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
    if(lpproc!=(TESTDLL)NULL)
 (*lpproc)();
    FreeLibrary(hmod);

解决方案 »

  1.   

    编译没错,运行的时候要出错,说什么DEBUG之类的!
      

  2.   

    可能原因是以下语句有问题
    dlg->Create(IDD_DIALOG1,NULL);
    要避免EXE工程和DLL工程中有相同的IDD_DIALOG1。
      

  3.   

    (1)编译提示IDD_DIALOG1重复warn了吗?如果没有,wanglh(宏) ( 的说法可能性不成立;
    (2)Debug错误信息是什么?你按确定进入VC调试总有调试信息提示的,再用"call stack"看看错在哪里?否则不太好判断的!
      

  4.   

    我近几天刚刚做了这方面的程序,如果你感兴趣,我可以提供源代码!需要就与我联系 [email protected]
      

  5.   

    我已经发信给你! NewFree(新自由人)我确定没有重复!!
    我用模式对话框就没错的嘛!