包的公共DCP输出目录的目的是什么?

时间:2017-02-09 11:12:39

标签: delphi

[背景]

我正在创建在我的项目中使用的公共运行时包。

我不喜欢弄得一团糟
C:\Users\Public\Documents\Embarcadero\Studio\*\Dcp

没有目的的目录。 我必须将包含所有* .DCU文件的目录添加到库路径中。 所以我在考虑将DCP文件重定向到同一目录......

[问题(S)]

我可以更改默认的DCP输出目录而不用担心副作用吗?

将DCP文件放在除DCU之外的其他地方的目的是什么? 常见的DCP输出目录有什么意义?它提供了我不知道的任何优势吗?

我理解常见的包输出目录 - 它在系统PATH变量中列出。

1 个答案:

答案 0 :(得分:6)

IDE在设计时使用DCP文件进行标识符解析。这同样适用于配置为使用运行时BPL以及IDE本身(用于扩展和组件)的应用程序。如果您是组件开发人员,BPL和DCP在技术上是您需要发布的唯一文件。 DCU和源代码都是可选的,尽管大多数组件开发人员都提供它们以方便和调试。

IDE的扩展API就是一个很好的例子。 DCP和BPL文件中存在类,但IDE附带的源或dcus中不存在这些类。

DCP只需要在IDE的搜索路径中。它们不一定必须位于公共DCP文件夹中。我相信这个文件夹的主要原因是组件开发人员的好处。他们需要一个方便的位置来放置DCP文件,它需要具有宽松的权限,因此编译器可以编写它们,IDE可以加载它们。