在我的wxWidgets應用程序中,我正在檢查命令行參數,如果找到它,我會執行一個操作,然後關閉窗口。不過,我似乎無法讓應用程序正常關閉。我想用一個退出代碼關閉程序,例如3.當我檢查wxApp :: OnInit中的命令行參數時,我試圖調用exit(3)
,但是,這似乎是不正確的,因爲它導致內存泄漏wxWidgets的。如何正確關閉應用程序並退出代碼
我又試圖但是存儲退出代碼,重寫OnRun和回到那裏,當我做我得到一個崩潰的init.cpp
線472
上return wxTheApp->OnRun();
。
有沒有人知道我可以在檢測到應用程序應該關閉後用wxApp的自定義退出代碼正確關閉應用程序?我也試圖超載wxApp::OnExit
,但是,它永遠不會被調用,即使我沒有超載OnRun
。
代碼例如,由於在這個崗位沒有被允許出於某種原因
編輯粘貼代碼的代碼:
int SomeApplication::OnRun()
{
if(mExitCode != 0)
{
ExitMainLoop();
return mExitCode;
}
else
return wxApp::OnRun();
}
也許顯示一個簡單的自包含的問題行爲的例子? – AJG85
'exit'不允許堆棧放開,所以顯然任何具有不平凡析構函數的對象都會「泄漏」。 – ildjarn
我一直在嘗試,但我不斷收到錯誤,說我的代碼沒有格式化,即使它是 – judeclarke