我正在构建一个使用Delphi Packages(BPL)作为插件的程序,但是我想使用自定义扩展来显示这些文件具有特定目的而不仅仅是BPL。这很有效,直到我最终得到一个依赖于另一个的包。然后编译器自动创建内置扩展名为BPL的二进制文件。
使用十六进制编辑器修复这个问题并不难,但这是一种极端的解决方案。有没有办法让编译器首先生成具有正确依赖项名称的包?
编辑:到目前为止,答案似乎还没有理解这个问题。
我确切知道如何使用我的自定义TEP扩展而不是BPL扩展来创建包。但是,如果我有package1.TEP和package2.TEP,并且package2依赖于package1,然后我尝试加载package2,它会出错,因为它找不到“package1.BPL”。我想要的是找到一些更简单的方法来使package2查找正确的文件名“package1.TEP”,它不涉及在创建后编辑二进制文件。有没有办法做到这一点?
答案 0 :(得分:0)
最简单的解决方案是使用post build事件将目标文件从* .BPL重命名为您需要的任何特定扩展名。
修改强> 您可以编写单独的修补程序来搜索和修补有问题的二进制文件,并将其作为后期构建过程的一部分运行。如果对编译器进行了修补,那么您可以轻松地删除步骤。
答案 1 :(得分:0)
使用{$E}
指令。