在弹出式子窗口中关闭父窗口出现“已触发了一个断点”的错误并跳到下面这段程序处,是不是因为子窗口执行过程未返回而父窗口已经关闭的原因?_CRTIMP void _cdecl _CrtDbgBreak(
    void
    )
{
    DebugBreak();
}

解决方案 »

  1.   

    子窗口存在时不应该关闭父窗口,否则出错。一个想法:先修改子窗口的父窗口为NULL,再关闭父窗口。没有试过,不知道是否可行。
      

  2.   


    我是关闭父窗口的,在子窗口中用GetParent()->PostMessageW(WM_QUIT)。
      

  3.   


    为什么从父窗口上使用ESC关闭它没问题?
      

  4.   

    你是怎么关闭的?好像按esc触发oncancel函数,最后执行postquitmessage( 0 );
      

  5.   

    发个按键消息"按ESC键"看看什么效果
      

  6.   

    猜测是不行的,遇到问题要去找原因,而不是猜原因
    断言问题最好解决,只要你看看call stack,就可以知道它在检查什么,是什么原因导致错误
      

  7.   


    void CLblDlg::OnBnClickedButtonChatroom()
    {
    // TODO: 在此添加控件通知处理程序代码
    CChatRoomClientDlg* pDialog;
    pDialog = new CChatRoomClientDlg;
    if(pDialog)
    {
    BOOL ret = pDialog->Create(IDD_DIALOG_Client,this);//执行到此处就跳到楼主的代码哪里。
    if(!ret)
    AfxMessageBox("创建对话框失败!");
    else
    {
    pDialog->ShowWindow(SW_SHOW);
    }
    }
    },我遇到了同样的问题,不过我可没销毁主窗口啊!
    顶!
      

  8.   

    WM_QUIT消息直接让主线程退出了 窗口没有销毁内存没有释放 对父窗口发出WM_CLOSE消息试试