Delphi 为什么编译器不能在我的包中包含外部DCU?
我有一个错误: E2411包%s中的单位%s指的是在中找不到的单位%s 任何包裹。成套设备必须仅指成套设备(德尔福) Delphi帮助非常有用,它说: 没有关于此错误或警告的进一步信息 为什么我不能引用一个不属于包的单元 更新: 永无止境的故事:将文件放入自己的包中会破坏其他内容:Delphi 为什么编译器不能在我的包中包含外部DCU?,delphi,delphi-xe,Delphi,Delphi Xe,我有一个错误: E2411包%s中的单位%s指的是在中找不到的单位%s 任何包裹。成套设备必须仅指成套设备(德尔福) Delphi帮助非常有用,它说: 没有关于此错误或警告的进一步信息 为什么我不能引用一个不属于包的单元 更新: 永无止境的故事:将文件放入自己的包中会破坏其他内容: 这就是为什么我不想将文件放在它自己的包中。您不能引用不属于包的单元,因为包需要是一个自包含的软件。这意味着包必须包含它使用的所有单元,或者在其requires子句中通过包提供这些单元 要解决此错误,您可以 将单元包
这就是为什么我不想将文件放在它自己的包中。您不能引用不属于包的单元,因为包需要是一个自包含的软件。这意味着包必须包含它使用的所有单元,或者在其requires子句中通过包提供这些单元 要解决此错误,您可以
- 将单元包含在您正在构建的包中,或
- 将包含该单元的软件包添加到正在构建的软件包的requires列表中
- 你的问题似乎是
为什么编译器会发出此错误
如果您指的是A单元,则需要解决对A单元的提及。如果在当前包或requires子句中的另一个包中找不到它,那么编译器将无法继续
你还问:
为什么编译器不能在我的包中包含外部DCU
您只需在.dpk文件的contains子句中将设备添加到软件包中。Hi-David。我已经看到了消息。但我想知道这是为什么。为什么编译器不能在我的包中包含一个外部DCU?@DavidHeffernan好吧,需要澄清一下。就目前而言,它非常接近循环定义。将我需要的单元放在自己的包中会破坏我的Delphi:因此,我认为这不是“我无法编译该文件”的问题,而是“我不(不应该)编译该文件”。@salter:hmm,是的,我想您可以这样说,因为编译器不会处理隐式包含的单元(用于但未显式包含在任何必需的包或正在构建的包中)