【问题标题】:Delphi 2010 - package problem, File not found errorDelphi 2010 - 包问题,找不到文件错误
【发布时间】:2009-11-05 22:22:40
【问题描述】:

我的应用程序有插件问题。最初,一切都被编译成一个 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。

这是为什么呢?

【问题讨论】:

    标签: delphi delphi-2010 package file-not-found


    【解决方案1】:

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

    【讨论】:

    • 但是 api.pbl 没有任何路径,因为它使用的唯一文件是它包含的文件,并且该文件与包源位于同一文件夹中...也许我应该尝试将其移动到它自己的文件夹中?
    • 无论如何,plugin.bpl 的搜索路径中有 ..\src\,这应该适用于 api.bpl,不是吗?
    • @Vegar “这应该适用于 api.bpl,不是吗?”试试看,给我们答案。 ;-)
    • @Heinz:插件的搜索路径中有 ..\src\,它可以访问 api.pas 文件。答案表明问题出在 api.bpl 是使用 plugin.pbl 的规则构建的,并建议我将 api.bpl 的源路径添加到 plugin.bpl。 Api.bpl 没有搜索路径,因为它只包含和使用一个文件 api.pas。 Plugin.bpl 也使用这个文件,并且已经在它的源路径中有它。所以,'..,这应该有效,......,不应该吗?表示我已经尝试过他的建议了,还是不行,但是应该……我没有答案……
    猜你喜欢
    • 2010-12-04
    • 2012-12-14
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2013-11-01
    相关资源
    最近更新 更多