1

我对带有插件的应用程序有疑问。最初,一切都被编译成一个 exe,但现在,我想自己将一些代码取出到 bpl 中。exe 和新 bpl 共享的代码被放入第三个 bpl。

application.exe 使用包 api.bpl 编译 api.bpl 只包含一个文件,api.pas plugin.bpl 需要 api.bpl。

我在磁盘上有以下结构:

.\ - exe 和 bpls 的最终输出
.\src - application.exe 和 api.bpl 的源文件,包括共享的 api.pas
.\dcu - 所有项目的 dcu 输出
.\plugin - 插件源

我可以毫无问题地编译application.exe。
我可以毫无问题地编译 api.bpl。
但是当我尝试编译plugin.bpl时,它首先尝试构建api.bpl,然后它抱怨它找不到api.pas。

这是为什么?

4

1 回答 1

1

这是 Delphi 构建系统中的一个怪癖。它试图在与 plugin.bpl 相同的构建规则下构建依赖包,而不是在它自己的规则下。查看 plugin.bpl 的 Project Options 并确保它与 api.bpl 具有相同的路径,然后它应该可以工作。

于 2009-11-05T23:08:56.867 回答