The contains clause
identifies the unit files to be bound into the package. Do not include
file-name extensions in the contains clause.
A package cannot be listed in the contains
clause of another package or the uses clause of a unit.
All units included directly in a
package’s contains clause, or indirectly in the uses clauses of
those units, are bound into the package at compile time. The units contained
(directly or indirectly) in a package cannot be contained in any other packages
referenced in requires clause of that package.
A unit cannot be contained (directly or indirectly) in more than one package used by the same application.
Package declarations and source files
contains子句标识了将被联编到包中的单元文件。在contains子句中不能包括扩展文件名。
一个包不能列于另一个包的contains子句中或单元的uses子句中。
所有直接包括在包的contains子句中的单元,或者直接在这些单元的uses子句中的单元,在编译时都被联编到库中。直接或简捷包含于包中的这些单元,不能被包含在当前包中以requires子句引用的任何包中。
在同一个应用程序使用的包中,一个单元最多只能被直接或间接包含一次。