我的Dll中的对话框包含CEdit和CRichEdit控件时,
当应用程序使用该Dll时,该Dll的对话框无法弹出来;
如果不包含以上两类Edit时,该Dll的对话框可以弹出来;
请问这是什么原因呢?怎么解决?
如果有例子请发到:[email protected]

解决方案 »

  1.   

    看看是不是主程序的资源ID号和DLL的资源ID号冲突了
      

  2.   

    我的Dll代码如下:
    extern "C" __declspec(dllexport) void Show()
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    CTest test;       //该类是基于CDialog的对话框
    test.DoModal();
    }
    另外一个基于Dialog的应用程序代码如下:
    typedef void (WINAPI * TESTDLL)();
    void CDlialogDlg::OnButton1() 
    {
    // TODO: Add your control notification handler code hereHINSTANCE CurrentResource=AfxGetResourceHandle();
    HINSTANCE NewInstance=LoadLibrary(_T("mfcdll.dll"));
    AfxSetResourceHandle(NewInstance);TESTDLL lpproc;
    lpproc = (TESTDLL)GetProcAddress (hmod,"Show");
    if(lpproc != (TESTDLL)NULL)
       (*lpproc)();AfxSetResourceHandle(CurrentResource);
    FreeLibrary(NewInstance);}如果CTest中有Edit控件,当我在应用程序中按Botton1时没有弹出对话框:
    如果CTest中没有Edit控件,当我在应用程序中按Botton1时可以 弹出对话框:
     这是什么原因呢?
      

  3.   

    Sorry,是当
    CTest中有CRichEdit控件,我在应用程序中按Botton1时没有弹出对话框:
    当CTest中没有CRichEdit控件,我在应用程序中按Botton1时可以弹出对话框:
      

  4.   

    原来没有初始化CRichEdit控件,郁闷!