我做了一个扩展DLL,封装的是一个对话框及其类。在一个简单工程里调试正常,于是我就放到正在做的比较大的工程里,结果运行出错,调试发现:
CMyDlg  dlg;   //DLL里的类
dlg.DoModal(); //此处跟进int CDialog::DoModal()
{
      ...
     HWND hWndParent = PreModal();  //出错地方,弹出断言宏
     ...
}
不知道究竟哪儿出问题了,急。

解决方案 »

  1.   

    ASSERT(m_hWnd == NULL);是这行吧?
    估计你的DLL的资源使用出现了问题。
      

  2.   

    http://community.csdn.net/Expert/topic/3296/3296255.xml?temp=.6402704
      

  3.   

    参考:
    http://www.vckbase.com/document/viewdoc/?id=543
      

  4.   

    我肯定是HWND hWndParent = PreModal();  
    这儿出错。
      

  5.   

    上面说的DLL放到我的工程都会断言错,不知道哪儿出错。
      

  6.   

    是CDialog::DoModal()里m_lpDialogTemplate变量==NULL造成的,该怎么解决呢?
      

  7.   

    AFX_MANAGE_STATE(AfxGetStaticModuleState()); 
    dlg.DoModal(); //just try this
      

  8.   

    to lu1172101275(蓝于) :
    不起作用的(我试了),我是扩展DLL。