【发布时间】:2014-04-29 17:55:34
【问题描述】:
我使用 GnuGetText 来执行本地化。这个单位到处都在使用。所以,当我创建Package A时,GnuGetText被隐式导入。而当我创建Package B时,GnuGetText也被隐式导入。问题是这个单元只能出现在一个Package中。我不明白如何将设备“移动”到一个独特的位置,这样它就不会出现在包 A 和 B 中。
【问题讨论】:
标签: delphi import package delphi-2007
我使用 GnuGetText 来执行本地化。这个单位到处都在使用。所以,当我创建Package A时,GnuGetText被隐式导入。而当我创建Package B时,GnuGetText也被隐式导入。问题是这个单元只能出现在一个Package中。我不明白如何将设备“移动”到一个独特的位置,这样它就不会出现在包 A 和 B 中。
【问题讨论】:
标签: delphi import package delphi-2007
由于GnuGetText 被多个包共享,您需要将其放入自己的包中,然后其他包可以在其Requires 列表中指定。
【讨论】:
Requires 你的 GnuGetText 包,那么它不应该再隐式导入 GnuGetText 单元。这就是重点。 Requires 优先。编译器将首先在Required 包中查找GnuGetText 单元(这是允许跨包共享公共单元的原因),只有在没有找到时才会去寻找GnuGetText.dcu 或GnuGetText.pas 到隐式导入。