天天看點

FormDestroy和Destroy中選其一個使用.

FormDestroy和Destroy都是執行Free時執行的兩個函數

FormDestroy是事件, Destroy是析構函數.FormDestroy是在Destroy中執行的事件,是為了友善程式員寫釋放資源的代碼.

在程式中要麼用直接用Destroy釋放,要麼用FormDestroy事件,不要混合使用.

都知道寫Destroy的一般都是

destructor Destroy()

begin

   CdsMain.Free;

   inherited destroy;//保證基類的資源釋放, FormDestroy是在TCustomForm中的事件

end;

是以FormDestroy是發生在Destroy的最後一部份,如果你在Destroy中使用了CdsMain.Free

而你再想在FormDestroy中寫上CdsMain.Cancel,必然就會發生AV錯誤.

寫給初學者.....

D10.Mofen

繼續閱讀