情况如下。通常我使用RAD Studio2010进行Delphi开发。我有一些组件想要以二进制形式重新分发(没有源代码的*.bpl)。但我希望人们能够使用它们,尽管他们的Delphi版本。但是,例如,dcu文件只能由生成它们的编译器版本使用。据我所知,bpl文件也有类似的情况。每个bpl文件都需要相应的VCLXX.bpl库,这取决于Delphi的版本。我如何使我在2010年编译的bpls能够在Delphi7,2007等中使用?
安装所有Delphi版本并在每个版本中分别编译bpl文件是唯一的解决方案吗?
发布于 2010-01-27 06:16:56
是的,这是唯一的解决方案。每个编译器都会生成特定于其自身版本的DCU和BPLs。我所知道的唯一例外是Delphi2006和2007共享相同的格式。
发布于 2010-01-27 08:33:08
若要分发可由多个编译器版本使用的编译代码,请分发普通的DLL,而不是BPL。包和单元是特定于版本的。
创建以C样式导出的独立函数,或创建在操作系统中注册的COM对象。
不过,它不必改变您的整个开发策略;它可以是一个使用BPL的DLL,这样您就可以保留已经放入包中的所有工作。
发布于 2010-04-29 18:50:48
您可以在c++ builder中创建一个obj文件,并在Delphi中链接该文件,分发一个小的pas文件(头文件)。c++构建器obj格式从Delphi7到2009还没有改变(我可以确认2010年,但我认为它也会是一样的)。
您需要测试可视化/设计时组件是否可以这样做。
https://stackoverflow.com/questions/2143050
复制相似问题