在 Delphi 2009 中逐步升级 Indy 10
Posted
技术标签:
【中文标题】在 Delphi 2009 中逐步升级 Indy 10【英文标题】:Step by step upgrade of Indy 10 in Delphi 2009 【发布时间】:2011-03-13 09:17:53 【问题描述】:有人可以帮忙详细说明如何卸载 Indy 10 并安装最新版本吗?我找到了http://indy.fulgan.com/ZIP/IndyTiburon.zip
有一个similar question,但不是一个令人满意的答案,只是来自询问的用户的一些 cmets,但这不是一步一步的指南。
为什么没有工具呢?
【问题讨论】:
Indy 曾经有一个自动安装程序,但由 AtoZed 维护,他们不再支持它。我们正计划简化 Indy 11 中的安装过程并编写我们自己的安装程序。 @RemyLebeau 我在 3.5 年后再次提出这个问题。我在indy.fulgan.com/… 中读到,现在我必须使用 Tortoise 来获得 Indy。我这样做了,现在我将尝试重新遵循已接受答案中的步骤。如何知道主干文件夹中的 Indy 版本是什么? 您可以使用 Tortoise(或任何其他 SVN 客户端)直接访问 Indy 的 SVN 服务器,但这不是必需的。 Fulgan 维护当前主干的每晚 .zip 快照,您可以下载它。详情请见Indy's SVN instructions。 @RemyLebeau 我也用 SVN 管理,反正 zip 包含超过 3 个文件夹,所以我将使用 lib 文件夹中的 core/protocol/system 文件夹并将它们放在 indy10 delphi 源中文件夹然后按照下面接受的答案继续 完全卡住了,我尝试按照已接受答案中的说明进行操作,但在编译过程中出现了很多错误,我昨天在 indy fulgan 的 zip 中尝试了 SVN + build 5117。可以寻求帮助吗? 【参考方案1】:我是最近才这样做的,我之前在 2007 年就这样做过,遇到了很多问题,但这次在 D2010 进行得非常好......
假设:
-
Indy BPL 存储在 bin 中
文件夹
DCP 和 DCU 存储在
lib\indy10 文件夹
源代码为source\indy\indy10
(然后你有核心/协议/系统
子文件夹)
方向:
所以,我将 BPL/DCP/DCU 文件保存在安全的地方(以防万一) 我将 core/protocol/system 文件夹重命名为 core.old/protocol.old/system.old 然后我将核心/协议/系统文件夹从 indytiburon.zip 复制到 source\indy\indy10 文件夹中
现在,必须按以下顺序构建包:
系统-核心-协议-dclCore-dclProtocol
对于 Delphi 2009,打开名称以 130 结尾的包;对于 Delphi 2010,140。
我打开了每个包,然后在选项中将 lib\Indy10\ 的完整路径粘贴到 DCP 和 Unit 输出目录字段中,并将 bin\ 的完整路径粘贴到包输出目录字段中。
然后我built
包裹。对于 dcl 包我也installed
.
当然,2010 年一切顺利!
【讨论】:
如果您要替换 Delphi 提供的单元和包,您也需要替换调试版本。否则,每当您选中“使用调试 DCU”链接器选项时,都会出现单元冲突。就我个人而言,我只使用 Indy 的单独副本,而无需理会 Delphi 提供的文件。 我按照您的指示成功安装了 Indy。您能告诉我有关调试 DCU 的信息吗?为此该怎么办?无论如何,现在我可以构建我的项目,并且由于不更新 Indy 而导致的错误消失了。此信息应在 INDY 网站上以大字体显示!!! 这一切都很好!我本来打算添加这些步骤,但我被带薪工作耽搁了——目前我刚刚将 lib\debug\Indy10 重命名为 lib\debug\Indy10.old 以确保没有不匹配 为了完整起见,如果您也打算在 C++ Builder 中使用 Indy 组件,请记住将 .hpp 文件复制到包含目录。要让编译器生成 hpp 文件,请将其设置为生成所有 c++ 文件。 这会导致 Delphi 2010 或 XE 中的 DataSnap 出现问题 ***.com/questions/4567127/…以上是关于在 Delphi 2009 中逐步升级 Indy 10的主要内容,如果未能解决你的问题,请参考以下文章
Delphi - Indy TIdHTTP方式创建程序外壳 - 实现可执行程序的自动升级