我先打开一个对话框A,然后再打开一个对话框B,然后关掉B,居然A都消失了,整个程序跟死了一样
只好结束程序了?
请问各位大虾,有几种可能会造成这种情况?
是不是有可能是内存释放错误造成的??

解决方案 »

  1.   

    我先打开一个对话框A,然后再打开一个对话框B,然后关掉B,居然A都消失了,整个程序跟死了一样
    只好结束程序了?
    问题不出在对话框。你自己代码有问题。请问各位大虾,有几种可能会造成这种情况?
    X种是不是有可能是内存释放错误造成的??
    内存不是最先考虑的,尽管你可能顺带有内存泄漏。调试你的程序吧!
      

  2.   

    子对话框 DoModal 之后,主窗口在 do what
      

  3.   

    1.主窗口中通过点击菜单调用对话框DlgZHKT
       if (DlgZHKT.DoModal() == IDOK)
    2.DlgZHKT中通过点击一个按钮调用子对话框dlgCombine
          dlgCombine.DoModal();
    4.然后再打开一个子对话框QueryAll,查询后关闭
          QueryAll.DoModal()
    5.然后对dlgCombine进行一些操作后关闭
        CDialog::OnCancel();
    6.就出问题了,DlgZHKT看不到了,而且主窗体中没有任何反映了,好象DlgZHKT还挡在主窗体中一样
    只好结束程序
      

  4.   

    不要对dlgCombine进行关闭操作:CDialog::OnCancel();
    可以试一下