单元文件是我们在Delphi开发中最常用的文件,主要的代码编写都在该文件中进行。所以,我们有必要对其文件结构进行分析。一个单元文件主要有以下几部分组成:单元文件头部、接口部门、实现部分,前三者是最主要也是最常见的,还有就是initialization部分和finalization部分。
1. unit heading
例如:unit MainForm;结构,其中MainForm与该单元文件的文件名相对应,在一个项目中,单元文件名是唯一的。其文件后缀为.pas,编译后的文件后缀为.dcu或者.dpu;
2. interface section
interface里声明的常量、变量、过程或方法,如未有特别声明,则都被定义为public。对于过程或方法的实现在implementation section实现,类似于forward declarations。如需要引用其他单元,则可以在interface保留字后,即
- interface XXX;
- uses XXX;
3. implementation section
implementation里声明的常量、变量、过程或方法如未有特别声明,则都被默认定义为private。引用其他单元的方法也和interface类似,
- implementation
- uses XXXX;
4. initialization section
initialization部分是可选的。其目的是如在单元初始化时需要用到一些默认数据,这些数据就可以在initialization中进行初始化。当然也可以用来初始化一些已编译的单元。
5. finalization section
finalization部分出现的条件是在单元中已有了initialization部分的定义。其主要目的是用来释放在initialization中定义的资源,其释放的顺序刚好和在initialization中初始化的顺序相反。
关于单元的引用,这里需要说明几点:
1.大多数的项目文件都包含引用,implementation部分包含自己的uses子句。
2.System unit 和 Syslnit unit被自动加载在每个应用程序中。
3.在项目文件中,采用以下的引用方式:
- uses MyUnit in "myunit.pas";
4.引用一个library或一个程序,可以使用
- uses
- Strings in 'C:\Classes\Strings.pas';
5.只有在项目文件(.dpr)中的uses子句中出现的单元才被认为是属于该项目的。
6.在单元的uses子句中,不能使用in来指定源文件。