我用mfc做了一个动态库,这个dll中导出一个函数显示一个模态对话框但是当交叉一下的话,程序弹出终止,重试,忽略的对话框。我再怎么做都无法解决,有没有办法啊????分不够可以再加

解决方案 »

  1.   

    同意楼上的,看不懂
    不过如果你的dll里创建了线程,在线程重创建dialog的话,就会出错
      

  2.   

    回复人: Pipi0714(小兔子) ( ) 信誉:85  2004-07-13 17:05:00  得分: 0  
     
     
       呵呵,什么交叉一下!
      
    就是关闭,无论是OK还是CONCEL都是出错to lizmei001 
    没有用线程
     
      

  3.   

    你的对话框是无模式还是模式对话框?检查关闭对话框得代码,参考
    http://community.csdn.net/Expert/topic/2815/2815608.xml?temp=.7193109
      

  4.   

    你的问题与下面地址的问题一样。
    http://community.csdn.net/Expert/topic/3081/3081869.xml?temp=.8740045
    http://community.csdn.net/Expert/topic/3167/3167773.xml?temp=1.017398E-02
      

  5.   

    to syy64(太平洋)   http://community.csdn.net/Expert/topic/3081/3081869.xml?temp=.8740045
     看过,但是要怎么样调用呢?   AFX_MANAGE_STATE(AfxGetStaticModuleState()); 用了一样。
    to  gracezhu(eutom)
       你的连接是什么啊?都是一些人名啊
      

  6.   

    把应用程序的窗口句柄传到 DLL中。
      

  7.   

    把应用程序的窗口句柄作为参数传到 DLL中;
    你把你的代码贴出来。
      

  8.   

    void CTextGroupDllDlg::OnButton1() 
    {
    //
    HINSTANCE hmod;
    hmod = LoadLibrary(_T("aball.dll"));
    if(hmod != NULL)
    {
    DLGSHOW DlgShow;
    DlgShow = (DLGSHOW)GetProcAddress(hmod,"Show");
    if(DlgShow != (DLGSHOW)NULL)
             (DlgShow)(m_pVal);
    if(GetLastError() == NO_ERROR)
    MessageBox("OK"); FreeLibrary(hmod);
    }
    // TODO: Add your control notification handler code here

    }m_pVal 为一个结构指针typedef void (CALLBACK* DLGSHOW)(tag_Val*);
      

  9.   

    Attach more code of your dialog,i think error occured here
      

  10.   

    如何获得应用程序的窗口句柄呢?
    我查MSDN不知道要从哪查起
      

  11.   

    视类的成员函数m_hWnd;
    afxgetapp()->m_pMainWnd->m_hWnd;