Delphi中initialization和finalization

好了,進入正題,首先說明initialization 和 finalization 在代碼單元中的位置:­

************************************************************­

unit Unit1; interface­

uses­

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,­

Dialogs;­

type­

TForm1 = class(TForm)­

    Button1: TButton;­

    procedure FormCreate(Sender: TObject);­

    procedure FormDestroy(Sender: TObject);­

private­

    { Private declarations }­

public­

    { Public declarations }­

end;­

var­

Form1: TForm1;­

implementation­

uses Unit2;­

{$R *.dfm}­

procedure TForm1.FormCreate(Sender: TObject);­

begin­

ShowMessage('1 FormCreate');­

end;­

procedure TForm1.FormDestroy(Sender: TObject);­

begin­

ShowMessage('1 Destroy');­

end;­

initialization­

ShowMessage('1 ini');{單元初始化代碼}­

finalization­

ShowMessage('1 final');{單元退出時的代碼}­

end.­

************************************************************­

initialization —— 在單元中放在文件結尾前,包含用來初始化單元的代碼,它在主程序運行前運行並且只運行一次。­

finalization —— 在單元中放在 initialization 和 end. 之間,包含了單元退出時的代碼。在程序退出時運行並且只運行一次。­

OnClose —— 在點擊關閉按鈕或執行該事件時調用。­

OnCreate —— 在窗體創建時調用。(我的感覺:該事件是在窗體創建之後,即執行構造函數後才執行的)­

OnDestroy —— 在窗體銷燬時調用,一般用來銷燬程序員自己定義(自己定義、創建,而不是直接從控件板拖拉過來的控件)的對象、變量、指針等等。(與析構函數的關係我還沒弄清)­

下面是執行順序(如果程序中沒有 initialization、 OnCreate、 OnClose、 OnDestroy、 finalization 中的任何一項,則相應跳過即可):­

程序啓動 --> 執行 initialization 處的代碼 --> 執行窗體的構造函數並創建相應窗體和單元中的對象(如拖拉的控件對象,全局變量等) --> 執行 OnCreate 事件 --> 程序運行 --> 關閉主窗體(此處指調用主窗體的Close或點擊主窗體的關閉按鈕) --> 執行 OnClose 事件 --> 執行 OnDestroy 事件 --> 執行 finalization 處的代碼­

以上是對於單個窗體而言­

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