).DFM ).DFM; 一个是窗体文件(窗体定义文件).DFM;另一个 是每个窗体对应的单元文件.PAS .PAS。 是每个窗体对应的单元文件.PAS。
代码窗口
?单元为一独立的可编译的 代码模块, 代码模块,其中包含有公共 的部分(界面部分) 的部分(界面部分)和局部部 实现部分) 分(实现部分)。 ?Delphi中的每一窗体都有 Delphi中的每一窗体都有 与之相联系的单元。 与之相联系的单元。 ?单元的源代码保存在.PAS 单元的
源代码保存在.PAS 文件中, 文件中,编译后的文件 .DCU,连接.DCU .DCU文件后的 为.DCU,连接.DCU文件后的 执行文件为单个的.EXE 执行文件为单个的.EXE .DLL文件 文件。 或.DLL文件。
1. 单元标题(unit heading) 单元标题(unit
单元文件的第一句话。 单元文件的第一句话。 文件的第一句话 单元标题指定单元的名称。 单元标题指定单元的名称。这里的名称可在引用该 标题指定单元的名称 单元时的uses子句中使用。名称必须是唯一的, 单元时的uses子句中使用。名称必须是唯一的,也 uses子句中使用 就是说同时不能使用相同的单元名字。 就是说同时不能使用相同的单元名字。 单元标题不要在代码编辑器中随意进行修改, 单元标题不要在代码编辑器中随意进行修改,否则 标题不要在代码编辑器中随意进行修改 就会出现编译错误。 就会出现编译错误。
2. 界面部分(interface part)
在标题头后,以关键字interface开始, interface开始 标题头后,以关键字interface开始, implementation前的部分。 implementation前的部分。界面部分说明公共的常 前的部分 量、类型、变量、过程及函数等。对过程和函数
, 类型、变量、过程及函数等。对过程和函数, 只列出说明部分,过程体或函数体在实现部分。 只列出说明部分,过程体或函数体在实现部分。 其中Uses 其中Uses子句确定了本单元中使用了哪些其它单元 Uses子句确定了本单元中使用了哪些其它单元 ,一般来说,Delphi将一些常用的标准单元如: 一般来说,Delphi将一些常用的标准单元如: 将一些常用的标准单元如 Windows单元、SysUtils单元、Classes单元、 Windows单元、SysUtils单元、Classes单元、 单元 单元 单元 Graphics单元、Forms单元等自动加入到该子句中 Graphics单元、Forms单元等自动加入到该子句中 单元 。当然也可以加入自己的非标准单元。 当然也可以加入自己的非标准单元。
3. 实现部分(implementation part)
从关键字implementation开始直到本单元末尾或初 关键字implementation implementation开始直到本单元末尾或初 始化部分之前。 始化部分之前。主要用于定义在界面部分说明的全 部公共过程体和函数体。也可说明局部的常量、类 部公共过程体和函数体。也可说明局部的常量、 变量、过程或函数。 型、变量、过程或函数。 其中的 其中的{$R *.DFM}是编译指令,指示编译器在编译 *.DFM}是编译指令 是编译指令, 时要连接窗体。 时要连接窗体。
4. 初始化部分(initialization part)
为可选的部分,以关键字initialization开始,位 initialization开始 可选的部分,以关键字initialization开始, 于实现部分之后, 于实现部分之后,主要是对本单元中的一些数据进 行必要的初始化,如给变量赋初值、 行必要的初始化,如给变量赋初值、为实现部分分 配资源等。 配资源等。
5. 结束部分(finalization part)
为可选的部分,若单元具有初始化部分就必须具有 可选的部分, 结束部分。以关键字finalization开始,直到单元 finalization开始 结束部分。以关键字finalization开始, 结束,主要为结束单元的语句。在初始化部分获得 结束,主要为结束单元的语句。 的任何资源(内存、文件等)在结束部分都要释放。 的任何资源(内存、文件等)在结束部分都要释放。 结束部分的执行顺序与初始化部