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 处的代码­

以上是对于单个窗体而言­

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马铃薯_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值