在项目中使用包

Ars*_*now 1 delphi packages

我在 delphi 10.1 Berlin 中创建了一个包含组件的包(一个运行时包和一个设计包)。

我想在 vcl 项目中使用这个包的组件。

我希望将组件的代码嵌入到项目中。(我不想将项目链接到 extern bpl)

每次编译项目时,Delphi 都会告诉我找不到组件的来源。我可以在项目路径中添加组件源的目录,但我不想这样做。由于组件的代码在 bpl 中,我猜想 Delphi 必须有一个解决方案,可以在不知道组件的 .pas 或 .dcu 在哪里的情况下将 bpl“绑定”到项目中,但我想不通怎么做。是否可以 ?如何 ?

Dav*_*nan 5

当我阅读您所写的内容时,您似乎实际上并不想在可执行文件中使用包。这就是我从这个陈述中推断出来的:

我不想将项目链接到外部 bpl。

所以你需要将源代码链接到项目中。有多种方式:

  1. 在可执行项目中包含源文件(.pas 和任何辅助文件)。
  2. 将包含源文件的目录添加到项目搜索路径。
  3. 将包含已编译 .dcu 文件的目录添加到项目搜索路径。

您选择做什么完全取决于您。

请注意,您还应该确保未为您的可执行项目选中Use runtime packages project 选项。

现在,我很感激你在问题中声明你不想做我建议你做的事情。相反,您更愿意以某种方式将包嵌入到可执行文件中。但这不是包的设计方式。如果您希望在可执行文件中包含所有内容,那么您就可以这样做。