wxWidgets第十八課 關閉程序異常

說明

在一個已有的wxWidgets項目中,點擊程序窗口的關閉按鈕,程序並沒有正常退出。

正常退出情況:

線程 0x6c8 已退出,返回值爲 0 (0x0)。

線程 0x8ec 已退出,返回值爲 0 (0x0)。

程序“[2464] test.exe”已退出,返回值爲 0 (0x0)。

通過任務管理器,還能夠查看到程序在後臺運行


分析操作

編寫最簡單的例子,正常退出沒有問題。通過逐步的屏蔽掉代碼,最終發現在一個窗口的構造函數中創建另一個窗口,導致程序無法正常退出。創建的另一個窗口是一個非模態對話框,但是沒有調用到Show函數,將界面顯示出來,這個時候,點擊當前的窗口關閉按鈕,實際上另一個窗口並沒有被銷燬,說明當點擊關閉按鈕,發送關閉事件的時候,只有顯示的窗口能夠接收到該消息


解決

通過調整創建窗口的代碼,解決了問題


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章