无法安装设计时软件包:vcl50.bpl

时间:2019-05-07 21:17:59

标签: delphi delphi-5

短版

  • 我的设计时程序包无法安装
  • 因为我的运行时程序包库bpl
  • 需要从@Classes@TStream@Write$qqrpxvi导出vcl50.bpl
  • 不存在

长版

当尝试安装 design-time 软件包时,Delphi 5出现加载程序错误:

enter image description here

  

过程入口点@ Classes @ TStream @ Write $ qqrpxvi不能位于动态链接库c:\ program files(x86)\ borland \ delphi5 \ Projects \ Bpl \ AvatarDateTimePickerD5.bpl中。

一旦清除了加载程序显示的错误对话框,Delphi就会显示该错误的自身版本:

enter image description here

所以我检查了文件

我使用 Depends 检查dll中的导出:

c:\program files (x86)\borland\delphi5\Projects\Bpl\AvatarDateTimePickerD5.bpl

当然,没有没有导出名为:

@Classes@TStream@Write@qqrpxvi

事实上,根本没有以 @Classes 开头的导出:

enter image description here

确保加载正确的一个

所以我使用 Process Monitor 来确保它正在读取正确的文件。它是:

enter image description here

所以请检查运行时版本

您会记得通常有两个软件包:

  • ContosoGrobberD5 运行时
  • ContosoGrobberD5D 设计时

在这种情况下,加载的是 design-time 包,它依赖于 run-time 包:

  

AvatarDateTimePicker D5 .bpl

因此,我将加载早期生成的运行时程序包以查看其构建,并且构建过程不会发生意外:

enter image description here

并将其写入期望的位置。并完成所有文件写入操作:

enter image description here

enter image description here

成功,正确且有意地,未生成名为:

的DLL导出
@Classes@TStream@Write@qqrpxvi

但是相应的 design-time 软件包声称需要这种导入。

取决于说的不完全

如果我在 design-time bpl上运行 Depends ,我会看到失败的链:

  • AvatarDateTimePickerD5D.bpl (设计时dll)
    • AvatarDateTimePickerD5.bpl (运行时dll)
    • vcl50.bpl
      • 缺少导出@Classes@TStream@Read$qqrpvi
      • 缺少导出@Classes@TStream@Write$qqrpxvi

enter image description here

因此,显然是 vcl50.bpl 缺少了出口

检查vcl50.bpl是否导出@ Classes @ TStream @ Write

因此,我监视安装 设计时软件包的操作,经过一番摸索,它会在路径中找到它:

enter image description here

System32文件夹中:

  

C:\ Windows \ SysWOW64 \ vcl50.bpl

因此,我检查了vcl50.bpl的出口。是的,没有导出@Classes@TStream@Write$______

enter image description here

看起来类似于文件:

enter image description here

创建:2000年1月4日上午4:01 SHA-1 29398F5CD966335EB38377962B12780DDEA9DBDC

那是怎么回事?

0 个答案:

没有答案