在Delphi XE3中安装软件包时缺少VCL40.bpl

时间:2015-01-23 18:16:03

标签: delphi installation install package

我想在Delphi XE3中安装旧包。

我已经进行了修改并且包的构造没问题,但是当我要求安装它时,我有错误:VCL40.pbl缺失。

如何解决此问题并摆脱此错误?

谢谢!

2 个答案:

答案 0 :(得分:4)

打开您的包.dpk文件。您会在vcl40子句

下找到requires
requires
  vcl40;

vcl40重命名为vcl以修复此错误。

Delphi软件包特定于Delphi版本。每个Delphi版本都从相同的代码创建不同的编译包(.bpl),并且不能在不同的Delphi版本之间共享编译的包。

所有Delphi RTL/VCL/FMX软件包都有后缀,标记了Delphi版本,并且当您的系统上安装了多个不同版本的软件包时,可以避免冲突。在Delphi 4中,当您的包使用了一些其他包时,您的requires子句中包含了该版本号。这就是你vcl40的原因。在更高版本(Delphi 7或6)中,更改了引入包后缀,删除了需要在require子句中编写版本号,仍然允许编译的包具有不同的Delphi版本号。

这就是为什么在Delphi XE3中有vcl而不是vcl170的原因。

建议的做法是,您还要为自己的软件包遵循后缀版本编号,以避免冲突。为此,请转到Package Options - > Description并将LIB后缀设置为所需版本。它可以设置为您想要的任何东西,但使用与Delphi软件包相同的编号方案和使用170的XE3也是一种好习惯。

编译带有后缀的包时,生成的.bpl将被命名为MyPackageName170.bpl

答案 1 :(得分:0)

搜索您尝试安装的BPL的所有副本,包括运行时和设计并删除它们。尝试在XE6上安装软件包时,我遇到了类似的问题,一直想要rtl170.bpl(它是一个XE3 bpl)。原来在c:\ Windows \ SysWOw65中有一个旧版本的运行时BPL。一旦我删除该副本安装就可以了。

相关问题