wxApp关闭时卡住

wxApp get stuck when closing

本文关键字:wxApp      更新时间:2023-10-16

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

当我尝试"break all"时,它会进入这个函数调用:

wxIdleWakeUpModule::MsgHookProc

:

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

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

在对话框关闭时使用Destroy。本页展示了如何在堆上创建对象:

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

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

因此,在我一个接一个地测试了我添加到先前工作程序中的所有代码块之后,我意识到我正在创建的wxDialog之一没有父级,但这不是有意的。

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

谢谢大家的帮助