关闭时wxApp卡住了

时间:2011-11-25 12:22:01

标签: c++ visual-studio-2008 wxwidgets

我已经为我的wxApp添加了新的对话框和片段,但是现在当我关闭主框架时,主框架被删除但它永远不会进入OnExit功能,并且卡住了。

当我试图“打破所有”时,它会进入这个函数调用:

wxIdleWakeUpModule::MsgHookProc

在:

return CallNextHookEx(ms_hMsgHookProc, nCode, wParam, lParam);

您对如何解决这个问题有什么建议吗?

2 个答案:

答案 0 :(得分:0)

关闭对话框时使用Destroy。这个page显示了在堆上创建对象时如何做到这一点:

void AskUser()
{
    MyAskDialog *dlg = new MyAskDialog(...);
    if ( dlg->ShowModal() == wxID_OK )
        ...
    //else: dialog was cancelled or some another button pressed

    dlg->Destroy();
}

在堆栈上创建对话框时,您不应该做任何特别的事情。

答案 1 :(得分:0)

所以在我逐一测试了我添加到我之前工作程序中的所有代码之后,我意识到我创建的wxDialog之一没有父级,但这是不打算。

因此,它不会关闭,因为其中一个主窗口仍然存活(即使它没有显示)

感谢大家的帮助