在DLL中的全局函数
int Start(void)
{
CDllDialog TempDialog;
if(TempDialog.DoModal() == IDOK)//不能进入!
{
MessageBox(NULL,"ok","ok",MB_OK);
}
return 0;
}

解决方案 »

  1.   

    是否你的对话框中用到了ActiveX控件,或者是RichEdit控件等。需要添加一些函数,例如 AfxEnableControlContainer();//OCX控件支持
    AfxInitRichEdit();//Richeidt的支持
    你最好先做一个空白的对话框试试。
      

  2.   

    在domodal前加上
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
      

  3.   

    具体的现象就是什么都没有!
    跟踪到函数中发现TempDialog.DoModal()直接返回了-1。
    加AFX_MANAGE_STATE(AfxGetStaticModuleState());不行啊
      

  4.   

    資源問題,你的模板創建了嗎?
    資源句柄是否切換到dll裡?
      

  5.   

    关心,to rokia你说的是呼有道理,那怎么切换,然后用资源,最后又切换回来,这个过程能用一些具体代码演示一下吗
      

  6.   

    在構造函數裡:
      句柄切入dll:
    hInst = GetModuleHandle(DllName);
    if (hInst)
    {
    hOldInst = AfxGetResourceHandle();
    AfxSetResourceHandle(hInst);
    }
    else
    return;
      在destroy或者你認為合適的時候:          AfxSetResourceHandle(hOldInst);        切回去。