Indy 10无法安装到Delphi 5中。

3

我有Delphi 10 Seattle,但我有一个1995年用Delphi 1编写的旧程序。由于多年来使用的所有旧第三方组件,将其迁移到Delphi 10 Seattle将需要完全重写它(至少需要一年时间)。

我的一个安全网站即将要求程序使用TLS 1.2。我安装了Indy 9,并且在TLS 1.0下工作得很好,但我了解到TLS 1.2的唯一方法是安装Indy 10。到目前为止,我一直没有成功。

  1. 我按照批处理文件方法的指示做了所有事情,删除了Indy 9的任何实例(主要是重命名文件和目录,以防出现最坏的情况)。
  2. 我将环境路径更改为Indy的批处理文件创建的正确D2文件夹。
  3. 在包安装程序中安装了dclIndyCore50和dclIndyProtocols50 BPL的两个版本。
  4. 它们都被勾选(启用)。组件可见。
  5. 然后我退出Delphi 5,或者会出现以下错误或2个包未被选中:

    Error Message

我尝试将所有文件从创建的'D2'文件夹移动到我的C驱动器旁边的文件夹中,以防止出现某种Windows 10权限问题。我更改了环境路径以匹配并添加这些软件包。仍然,Delphi声明找不到文件。

安装看起来很简单。我做错了什么?我在Embarcadero论坛的工具部分留下了帖子,但我发现它并没有被广泛使用。搜索论坛并找到“0”个结果。我希望您的Delphi专家能帮忙解决。


你在存储这些BPL的文件夹中拥有读写权限吗?由于Delphi 5早于UAC,我猜测如果Delphi试图以重写模式打开它们,那么UAC可能会阻止访问这些文件。因此,请尝试以提升的权限启动Delphi(以管理员身份运行)或更改该文件夹的读写权限,以查看问题是否仍然存在。 - SilverWarior
1
首先,Indy的批处理脚本不会创建D2文件夹,它会创建一个D5文件夹(假设您正在运行fulld_5.bat)。其次,错误可能有点误导人,因为它可能意味着缺少依赖的BPL,而不是dcl BPL本身。 dclIndyCore50.bpl 依赖于 IndySystem50.bplIndyCore50.bpl 运行时包,因此请确保它们在搜索路径上正确存在。使用像 SysInternals Process Monitor 这样的工具来查找确切缺失的文件以及操作系统正在查找它的位置。 - Remy Lebeau
1个回答

0
Delphi 5 喜欢在它的目录中看到与 BPL 相关的文件。(当然,你需要根据这个示例中指定的路径进行适应。)
搜索 **Indy*.* 文件,将所有具有相同编译日期/时间的文件复制到 Delphi5 的文件夹中。请查看下一张图片以获取路径和文件信息。

enter image description here

如果您已经拥有这些文件!!(现在不要复制)请先删除组件的先前分配。 按“删除”按钮。

Indy 10 Core Desig Time -> dclIndyCore50.bpl
Indy 10 Protocols Design Time -> dclIndyProtocols50.bpl

enter image description here

关闭并重新启动 Delphi

现在将文件复制到 Delphi 文件夹中!

安装组件包

enter image description here

点击添加(参见上图)
转到 ...\Delphi5\Projects\Bpl\dclIndyCore50.bpl
接着添加 ...\Delphi5\Projects\Bpl\dclIndyProtocols50.bpl

确保 Delphi 的路径已经在环境变量中

F:\Programme\Borland\Delphi5\bin;F:\Programme\Borland\Delphi5\Projects\Bpl;

关闭并重新启动 Delphi。


我只复制了BPL文件到projects/bpl文件夹,就让我成功地将两个设计BPL文件添加到包中而没有出现错误。但是我会复制其余的文件,因为这可能解决我的下一个问题。升级到Indy 10的唯一原因是为了提供TLS 1.2,但是当将SSL(现在叫什么名字)拖放到表单中时,它会导致Delphi崩溃。也许像你建议的那样添加所有文件可以避免这种情况发生。 - Robert Griffin realsol
@RobertGriffinrealsol:现在怎么样?复制所有文件需要多长时间?两天吗? - moskito-x
抱歉,我出城了两天。但D5仍然坚持要我包括实际源路径。有一些事件、方法和过程的更改需要我处理(我不在我的开发机器上),但是像HTTP.DoProsses这样的东西不起作用。但由于你的帖子,我实际上能够安装所有的设计组件,尽管有些在新项目中拖放时会导致Delphi 5崩溃,没有真正的解释。我打算在周一深入研究。你知道一个网页可以显示Indy 10中已停用的事件和方法以及它们的替代方法吗? - Robert Griffin realsol
@RobertGriffinrealsol:抱歉,这个问题是关于“Indy 10无法安装到Delphi 5”的。为了帮助其他用户,您应该将此答案标记为已回答。请使用新的提出的问题来寻求帮助! - moskito-x
抱歉。实际上,我喜欢这样,因为有些论坛会偏离主题。moskito-x确实回答了我的问题,我也安装了Indy 10,但还有其他Indy 10的问题。我将开始一个新的问题。但我不确定如何标记此问题已得到解答。 - Robert Griffin realsol
***** Deleted ***** - Robert Griffin realsol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接