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

在Delphi XE3中安装包时缺少VCL40.bpl,delphi,installation,package,Delphi,Installation,Package,我想在Delphi XE3中安装一个旧软件包 我已经做了所需的修改,包的构造还可以,但当我要求安装它时,我有一个错误:VCL40.pbl丢失 如何解决此问题并消除此错误 谢谢 打开您的软件包.dpk文件。您将在requires子句下找到vcl40 requires vcl40; 将vcl40重命名为vcl,以修复此错误 Delphi包是特定于Delphi版本的。每个Delphi版本都会从同一代码创建不同的编译包(.bpl),并且编译包不能在不同的Delphi版本之间共享 所有DelphiR

我想在Delphi XE3中安装一个旧软件包

我已经做了所需的修改,包的构造还可以,但当我要求安装它时,我有一个错误:VCL40.pbl丢失

如何解决此问题并消除此错误


谢谢

打开您的软件包
.dpk
文件。您将在
requires
子句下找到
vcl40

requires
  vcl40;
vcl40
重命名为
vcl
,以修复此错误

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

所有Delphi
RTL/VCL/FMX
软件包都有后缀,用于标记其预期的Delphi版本,并避免在系统上安装多个不同版本的软件包时发生冲突。在Delphi4中,当您的软件包使用其他软件包时,版本号包含在
requires
子句中。这就是为什么您有
vcl40
。在后来的版本(Delphi 7或6)中,由于引入了包后缀,删除了在requires子句中写入版本号的需要,仍然允许编译后的包在不同的Delphi版本中具有不同的编号

这就是为什么在delphixe3中使用
vcl
而不是
vcl170

建议的做法是,您还可以为自己的包使用后缀版本编号,以避免冲突。要执行此操作,请转到
软件包选项
->
说明
,并将LIB后缀设置为所需版本。它可以设置为您想要的任何值,但使用与Delphi包相同的编号方案和XE3(即
170
)也是一种很好的做法


当您使用生成的后缀集编译包时,
.bpl
将被命名为
MyPackageName170.bpl
打开包
.dpk
文件。您将在
requires
子句下找到
vcl40

requires
  vcl40;
vcl40
重命名为
vcl
,以修复此错误

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

所有Delphi
RTL/VCL/FMX
软件包都有后缀,用于标记其预期的Delphi版本,并避免在系统上安装多个不同版本的软件包时发生冲突。在Delphi4中,当您的软件包使用其他软件包时,版本号包含在
requires
子句中。这就是为什么您有
vcl40
。在后来的版本(Delphi 7或6)中,由于引入了包后缀,删除了在requires子句中写入版本号的需要,仍然允许编译后的包在不同的Delphi版本中具有不同的编号

这就是为什么在delphixe3中使用
vcl
而不是
vcl170

建议的做法是,您还可以为自己的包使用后缀版本编号,以避免冲突。要执行此操作,请转到
软件包选项
->
说明
,并将LIB后缀设置为所需版本。它可以设置为您想要的任何值,但使用与Delphi包相同的编号方案和XE3(即
170
)也是一种很好的做法


当您使用生成的后缀集编译包时,
.bpl
将被命名为
MyPackageName170.bpl
搜索您尝试安装的bpl的所有副本,包括运行时副本和设计副本,并将其删除。我在尝试在XE6上安装软件包时遇到了类似的问题,一直需要rtl170.bpl(它是XE3 bpl)。原来在c:\Windows\SysWOw65中有一个旧版本的运行时BPL。一旦我删除了副本,安装就可以了。

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

这个软件包是为哪个版本设计的?@BlueMan这是你最不关心的问题。从ANSI D4移植到Unicode XE3是一项艰巨的任务。这个包是为哪个版本设计的?@BlueMan这是您最不关心的问题。从ANSI D4移植到Unicode XE3是一项艰巨的任务。我已经完成了这项工作。但是,当我编译包时,没有错误,但没有生成。BPL:这是旧的。bplI添加了关于包编号方案的附加说明。构建和安装软件包时,将创建新的.bpl文件。你可能就是找不到它。如果您在安装过程中没有更改文件夹,默认文件夹是
C:\Users\Public\Documents\RAD Studio\10.0\Bpl
我已经这样做了。但是,当我编译包时,没有错误,但没有生成。BPL:这是旧的。bplI添加了关于包编号方案的附加说明。构建和安装软件包时,将创建新的.bpl文件。你可能就是找不到它。如果在安装过程中未更改文件夹,则默认文件夹为
C:\Users\Public\Documents\RAD Studio\10.0\Bpl