8

我一直将我们包的单元(.pas)文件夹的路径放入Delphi库路径中,但我开始怀疑这是否是一个错误!以这个问题为例:

我有两个自制的包:

  • 低级包
  • 高级封装

HighLevelPackage 使用 LowLevelPackage 中包含的单位。

如果两个包的单元文件夹的路径都在库路径中,那么我有可能在 LowLevelPackage 和 HighLevelPackage 隐含包含 LowLevelPackage 的单元之前构建 HighLevelPackage(我认为?)。

我想知道是否应该将这些包的 DCU 的路径放入库路径中。并且可能将实际源单元的路径放在浏览路径中,以便我们在调试时仍然可以进入它们。

听起来对吗?真正应该进入图书馆路径的是什么?.DCU的路径?.DCP?.BPL?还是.PASS?

4

4 回答 4

8
Library Path: *.dcu, *.inc, *.dfm
Package Output: *.bpl
Dcp Output: *.dcp
Browsing Path: *.pas
于 2009-01-23T01:58:46.710 回答
3

嗯,我刚刚看了 Delphi Help 在库路径上的文字:

库路径 指定编译器可以找到包源文件的搜索路径。编译器只能找到库路径中列出的那些文件。如果您尝试使用不在库路径上的文件构建包,您将收到编译器错误。

我不确定我是否同意这一点,因为这意味着每个包都可以看到每个其他包的源单元,所以如果一个包使用另一个包单元并且你构建它们的顺序不正确,我相信依赖关系可能会搞砸。哦,好吧,我是谁来质疑德尔福帮助,大声笑。;)

于 2009-01-23T02:19:54.030 回答
3

我通常根本不将任何包源放入库路径。这是因为项目使用的所有 3rd 方库都进入项目的子目录 (svn:external),因此将它们放在库路径中会导致将错误的源添加到项目中。相反,我将相对路径添加到项目的搜索路径中。

于 2009-01-23T08:39:56.760 回答
0

+1 给 Cesar,虽然我不知道“浏览路径”选项......我很确定它在 D7 中不存在。这肯定会省去将 PAS 文件添加到库路径以逐步执行代码的操作。

于 2009-01-23T02:02:36.123 回答