查看我们的代码库,一些代码明确地包含在项目中,并从搜索路径中提取。有没有人对什么是最佳做法以及为什么有意见?
更新:
我想我会澄清我的问题。我们所有的路径都是亲戚,因此我们可以拥有多个分支,这些分支都引用其分支中的代码。所以我不是在询问相对路径,而是单元是应该在.dpr中还是使用搜索路径拾取,这就是为什么之前提出的问题不能完全满足我的需求。谢谢大家
答案 0 :(得分:9)
我有一种非常基本的方法来确定这个...如果代码是特定于项目的(不在其他地方使用),我明确地包含它。所有共享代码都从库路径中拉出。
最好的问候, 别
答案 1 :(得分:4)
我认为我无法计算我帮助过某些人的次数,他们发现编译器在搜索路径的某个地方找到了一个他们不希望找到它的单元的副本。他们无法理解为什么他们在编辑器中更改他们的代码(在搜索路径中找不到的单元的副本)并且没有看到应用程序行为的任何变化。明确包含单位而不设置搜索路径意味着编译器只能找到一个单元副本。
答案 2 :(得分:1)
我的库在SVN中,我通常会检查它们(将它们分支到)相对于项目的../libraries的项目。这使得包括dirs的范围变得小而且重要。
在真实来源(.pas)中,路径是完全被禁止的。
全局delphi搜索路径中没有与项目相关的路径(仅限每个项目,或者它们是真正普遍共享的源/组件)
我讨厌使用硬编码路径来监管源代码,所以我通常在项目中只有几个单元,总是使用相对路径。不是VSS w:\驱动器替代黑客请!通常,这些是拉入框架部分或由于可视继承或表单初始化而需要的单元。
不幸的是,相对路径 对于Delphi来说是危险的,因为它们与工作目录相关,工作目录可以根据Delphi对话框(例如Open)进行更改。解决方案很简单,在主项目中有一个包含唯一名称的包含文件。
答案 3 :(得分:1)
此处已经介绍过:
My answer to the first question也是我对你问题的回答。
答案 4 :(得分:0)
共享代码与特定代码是一个很好的规则。
我经常使用VSSConnextion,所以我通常需要一起检出的文件自然属于同一个项目。
答案 5 :(得分:0)
升级Delphi两次并将我的项目移动到新计算机两次之后,我了解到硬编码路径是邪恶的,因为根目录往往会发生变化。如果你正在开展一个共享项目,那就完全如此。
答案 6 :(得分:0)
我遇到了同样的问题。没有出现在阴沟里的蓝点。
简单解决方案(其中之一):
菜单>项目>编译器> Build Configuration ...设置为DEBUG而不是release。
Delphi 2007
PS:好吧,我想到我完成了编码。有人要求新功能。 :)