为什么会有 Indy9 文件夹(C:\Program Files\CodeGear\RAD Studio\6.0\source\Indy 的默认安装文件夹包含“Indy9”和“Indy10”的子目录) 为什么两个版本都安装了?什么在使用 Indy9?我不认为它已经在 2009 年更新了……Indy9 现在可以安全地与 Delphi 2009 一起使用吗?
5 回答
有一个已打开的 QC 报告与此相关,但它仅对 QC 管理员可见。
“开放”的状态通常意味着它被接受这是一个错误,而不是设计。
Remy Lebeau - Indy 开发人员之一 - 说:
2009 安装程序附带 Indy 9 源代码,但在安装过程中不可选择。文档中有一条说明,如果需要,可以手动安装 Indy 9。但请记住,Indy 9 尚未更新为实际支持 2009。目前,我不确定是否会支持。
Indy9 是为了兼容性。Indy10 中有一些重大更改(您针对 Indy9 编写的代码可能无法在 Indy10 下编译),因此您可以选择继续使用 Indy9(我认为安装程序会提示并询问您要使用什么 Indy - 至少确实如此与 D2007)。
更新:好的,一些人正确地评论说 Indy9 不能与 D2009 一起编译(因为新的 Unicode 支持),所以我想我不知道它为什么会存在。
Indy 9(从 2007 版本开始)有一些更改,因此它将在 Delphi 2009 下编译(一些 String 到 AnsiString 的更改),但根据我的测试它不起作用。它尝试连接,但没有连接。如果您愿意,我可以为您提供为 Unicode 支持添加的更改,但我认为它们还不够。
我真的无法回答为什么。我可以推测一些原因,但我没有任何内幕消息。
使用安全吗?YMMV。Indy 有很多东西,所以可能有一些部分适合您的项目。即使是使用 TIdTCPClient 进行的简单测试,每次都会导致 Socket Error #11004。TIdHTTP 相同。好像我以前尝试过 MD5,但它只是垃圾,但我不确定那个。
回答:它被错误地包含(假设),并且使用不安全(基于有限的测试)。
这很不幸,因为 Indy 10 也有问题,而且我有一些使用 Indy 9 的旧版应用程序。
我猜,它在源代码树中,并被安装程序自动包含在内。
请记住,除非您告诉 Delphi 重新编译它们,否则不会使用源文件。如果您没有企业版,您甚至不会拥有这些文件夹。