必须出现在源文件MAINFORM.pas中,编译后的单元文件将是在一个工程中,单元名必须是独一无二的,两个同名的单元不能用在同一个程序中,即使它们的单元文件位于不同的路径下。
The intece section(接口部分)单元的接口部分从关键字intece开始,直到实现部分的开头。接口部分声明常量、类型、变量、过程和函数,所有这些对单元的客户(也就是引用此单元的程序或其它单元)是可用的。在接口部分声明的实体被称为‘公用’的,因为它们对客户来说,就像自己声明的一样。在接口部分声明的过程或函数只是一个例程头,它们的代码块(接口部分声明过程和函数就像使用forward指示字,虽然这里它并没有出现。在接口部分声明一个类时,必须包含它的所有成员。接口部分可以包含自己的uses子句,它必须紧跟在关键字单元引用和uses子句。
(指定单元名)
MAINFORM.dcu。
block)在实现部分定义。所以,在
intece之后。关于uses- 11 -
)。
,并以分号
子句,请参考
Programs and units
The implementation section(实现部分)
单元的实现部分从关键字implementation开始,直到初始化部分的开头;或者,如果没有初始化部分的话,就直到单元的结束。实现部分定义接口部分声明的过程和函数,在这里,你能以任何顺序定义和调用它们。并且,你也可以省略过程和函数的参数列表,但如果包括它们的话,就必须和在接口部分的声明完全相同。
除了定义公用的过程和函数,实现部分可以定义单元的私有内容,包括常量、类型(包括类)、变量、过程和函数,它们对客户(请参考接口部分)是不可见的。
实现部分可以包含自己的uses子句,它必须紧跟在关键字句,请参考单元引用和uses子句。
The initialization section(初始化部分)初始化部分是可选的。它从关键字initialization开始,直到结束化部分的开头;或者,如果没有结束化部分的话,就直到单元的结束。初始化部分所包含的命令,将在程序启动时按它们出现的顺序开始执行。举例来说,如果你定义了需要初始化的结构,你可以在初始化部分来完成。对于一个单元(称为客户)引用的各个单元,它们的初始化将按客户单元中序开始执行。(也就是说,uses子句中列在前面的单元先初始化)The finalization section(结束化部分)
结束化部分是可选的,并且只有当一个单元具有初始化部分时才能包含它。结束化部分从关键字finalization开始,直到单元的结束。结束化部分所包含的命令,将在主程序结束时被执行。使用结束化部分来释放在初始化部分分配的资源。
结束化部分的执行顺序和初始化执行的顺序相反。例如,如果你的程序以始化,结束化时的顺序则是C、B、A。
只要初始化部分的代码开始执行,在程序结束时相应的结束化部分就一定要执行。因此,结束化部分必须能够处理没有完全初始化的数据,因为,如果发生运行时错误,初始化部分的代码可能没有完全执行。
Unit references and the uses clause(单元引用和Unit references and the uses clause(单元引用和uses子句列出了被程序、库或单元引用的单元(关于库,请参考在:
? 程序或库的工程文件 ? 单元的接口部分,和 ?
单元的实现部分
- 12 -
implementation之后。关于
uses子句引用它们的顺
A、B、Cusesuses子句)库和包)。一个usesuses子
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-7.html
我当击沉之
你收家里
树欲静而风不止