【问题标题】:How do I change the file extension for dependencies如何更改依赖项的文件扩展名
【发布时间】:2011-01-29 00:07:28
【问题描述】:

我正在构建一个使用 Delphi 包 (BPL) 作为插件的程序,但我想使用自定义扩展来表明文件具有特定用途,而不仅仅是 BPL。这工作得很好,直到我最终得到一个包依赖于另一个包。然后编译器会自动创建带有内置扩展 BPL 的二进制文件。

用十六进制编辑器解决这个问题并不难,但这是一种极端的解决方案。有什么办法可以让编译器首先生成具有正确依赖名的包?

编辑:到目前为止的答案似乎还没有理解这个问题。

我确切地知道如何使用我的自定义 TEP 扩展而不是 BPL 扩展来创建包。但是如果我有 package1.TEP 和 package2.TEP,并且 package2 依赖于 package1,然后我尝试加载 package2,它会报错,因为它找不到“package1.BPL”。我想要的是找到一些更简单的方法来让 package2 查找正确的文件名“package1.TEP”,这不涉及在创建二进制文件后对其进行编辑。有什么办法吗?

【问题讨论】:

    标签: delphi dependencies delphi-2010 packages


    【解决方案1】:

    使用{$E} 指令。

    【讨论】:

    • 没有。同样,这不是我想要的。
    • 我刚试了一下,效果很好。只需忽略 IDE 消息。在运行时一切都很好,静态导入也是正确的,扩展名已更改 - 我使用依赖项查看器进行了检查。
    【解决方案2】:

    最简单的解决方案是使用构建后事件将您的目标文件从 *.BPL 重命名为您需要的任何特定扩展名。

    编辑: 您可以编写一个单独的补丁程序来搜索和修补有问题的二进制文件,并将其作为后期构建过程的一部分运行。如果对编译器进行了补丁,那么您可以轻松删除您的步骤。

    【讨论】:

    • 我已经知道了。这不是我担心更改的文件名,而是依赖它的其他包中对它的引用。
    • 啊,所以这听起来像是一个缺陷。我会通过 QualityCentral 报告它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2016-06-18
    • 1970-01-01
    • 2019-09-23
    相关资源
    最近更新 更多