2012-06-14 23 views
2

我在Delphi中做了一個按鈕組件,並且在我的按鈕mouseup事件中編寫了一個帶有錯誤(strtoint('a');)的代碼。當我點擊按鈕時,提示錯誤信息和按鈕狀態保持按下。 TSpeedButton也存在同樣的問題,但TButton沒有這個問題(我認爲是因爲它是一個標準的Windows控件)。是否有任何代碼添加到我的按鈕組件來消除此錯誤?發生錯誤時在Delphi按鈕組件中檢測MouseUp

+1

你當然可以在你的事件處理程序中處理異常。在投入不好的情況下,最好的處理可能是什麼都不做。或者按照建議使用TryStrToInt。 –

+1

您應該總是在事件處理程序中捕獲異常。不要把它稱爲控件的問題,這是你的代碼有問題。 –

+0

親自試一試。在窗體上拖放TButton和TSpeedButton,在mouseup事件中寫入錯誤代碼並查看結果。 – Vahid

回答

1

我發現這個問題,我應該在WM_KILLFOCUS消息過程中添加代碼以將按鈕恢復到正常狀態。

相關問題