gpt4 book ai didi

delphi - 如何使用 Delphi 6 修改 Indy 8 IdMessage.pas?

转载 作者:行者123 更新时间:2023-12-03 15:27:29 25 4
gpt4 key购买 nike

我有一份 Delphi 6 的副本和一个使用 Indy TIdMessage 组件的简单电子邮件程序。我想删除 IdMessage.pas 的第 464-465 行,然后重新编译应用程序。我很难找到清晰的文档,因此我尝试了以下步骤来修改组件:

  • 在 IDE 中打开\delphi6\source\indy\indy.dpk
  • 双击“Package”窗口中的 IdMessage.pas
  • 编辑IdMessage.pas并保存文件
  • 在“Package”窗口中单击“Compile”
  • 点击“项目”菜单中的“Build Indy”
  • 在“程序包”窗口中单击“安装”

但随后我收到一个错误,指出 \bpl\indy60.bpl 无法加载,因为\bin\indy60.bpl 已加载。因此,我在“组件”菜单中尝试了“安装软件包...”,但只在那里找到了 \bpl\dclindy60.bpl 。所以我删除了那个包,并且:

  • 在 IDE 中打开\delphi6\source\indy\dclindy.dpk
  • 在“Package”窗口中单击“Compile”
  • 点击“项目”菜单中的“构建 dclIndy”
  • 在“程序包”窗口中单击“安装”

IDE 确认已安装所有组件(包括 TIdMessage),但电子邮件程序仍然运行,就好像仍在使用原始未修改的组件一样。

我做错了什么?

最佳答案

如果您使用运行时包,那么您需要确保您的程序找到新的包文件 .bpl。

但是您可能没有使用运行时包。因此,运行时程序使用位于 Delphi 安装文件夹中的 .dcu 文件静态链接 Indy 代码。具体在这种情况下为<ProgramFiles>\Borland\Delphi6\Lib\IdMessage.dcu 。您需要确保链接新代码。最简单的方法是将修改后的文件添加到您的项目中。这意味着修改后的版本将被编译并链接到您的程序中。

由于您的修改是在单元的实现部分中,所以这就是您需要做的全部。如果修改是在界面部分,您将遇到“单元 X 是使用不同版本的单元 Y 编译的”错误。您可以通过将 Indy 源代码的其余部分添加到您的项目中来解决这个问题。

需要强调的一点是,切勿修改 Delphi 安装文件夹下的文件。如果您想对这些组件进行修改,请复制这些文件并在这些副本中进行修改。

关于delphi - 如何使用 Delphi 6 修改 Indy 8 IdMessage.pas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13758516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com