我有一個相對簡單的Window類。我創建了一個窗口,關聯了我的this
等等。現在,後來我拋出了一個異常來指出問題。當我呼叫MessageBox
彈出錯誤時,程序崩潰,因爲它試圖調用我的Window Proc。現在,我的意思是,無可否認,我在這裏失敗了SRP,只是寫了一個簡短的擁有自己的HWND類將解決這個問題,因爲窗口沒有正確清理。然而,我真的很困惑,爲什麼它試圖在我的MessageBox
調用中處理窗口消息 - 所有者參數是nullptr
。有什麼建議麼?消息框發送Windows消息?
編輯:如果我恰當地調用DestroyWindow
,那麼現在消息框不顯示,儘管應用程序不會崩潰。它只適用於我從窗口手動刪除this
,所以如果proc被調用,它將轉發到DefWindowProc
,然後DestroyWindow
。我的意思是,我認爲如果你沒有一個所有者就叫MessageBox
,那麼無論你對系統中的其他窗口做了什麼,它都可以工作。
它只是用於終止或'printf'調試,所以不好的行爲不是問題。 – Puppy 2011-05-31 19:51:15
@deadmg好的,我明白了 – 2011-05-31 19:54:21