我是否必须在包的requires部分指定间接依赖项?

时间:2018-03-29 09:14:25

标签: delphi dependencies packages delphi-10.1-berlin

假设我有这些项目:

  • Package1.bpl
  • Package2.bpl(使用Package1中的单位)
  • Package3.bpl(使用Package1和Package2中的单位)
  • Package4.bpl(仅使用Package2中的单位)
  • Project1.exe(使用上述所有单位)

每个部分的正确requires部分是什么?

Package2显然取决于Package1。

Package3取决于Package1和Package2?或者,如果我知道Package2将依赖于Package1?

,那么可以指定Package2

除了Package2之外,Package4还必须指定Package1吗?

对于包的requires部分有什么规则?

PS:我们假设我希望能够使用静态链接以及动态链接。

BTW:我尝试通过Dependencies运行bpls,但随后德尔福在引擎盖下生成的实际导入和导出与必要条件的关系不是1:1。

1 个答案:

答案 0 :(得分:2)

所需包中所需的任何包都被视为间接需要,并且在requires部分中不需要自己的引用。

鉴于上面的示例,每个包的要求至少应包含

Package1: 
Package2: Package1
Package3: Package2 (makes Package1 indirectly required)
Package4: Package2 (makes Package1 indirectly required)

当然,每个包都应列出所有必需的标准(RTL,VCL,...)包。上述规则也适用于那些规则。 F.i.要求v​​cl隐含地要求rtl。