Indy 9和Indy 10有什么区别?

3
我负责将一个Delphi 2007应用程序移植到C#,但我对Delphi毫无经验。我想知道Delphi包含的两个Indy版本-Indy 9和Indy 10之间有什么区别。目前我甚至不知道Indy是什么。有人能帮我吗?它们只是Delphi库的不同版本吗?使用其中一个与使用另一个有什么影响呢?
谢谢!

5
这有点跑题,但是你的公司正在犯两个严重错误。首先,重新发明现有的工作软件是一个非常糟糕的想法。(http://www.joelonsoftware.com/articles/fog0000000069.html) 其次,如果他们一定要这样做,就需要一个了解Delphi和C#的人,否则最终的产品几乎肯定会很糟糕。 - Mason Wheeler
1
那是另一个大错误。你和其他将Delphi转移到C#的人交流过吗?故事通常是这样的:由于大多数Delphi开发人员不懂C#,他们无法为移植提供太多帮助,因此您失去了领域特定的知识和经验。新团队以前从未做过这项工作,所以他们会犯一堆错误,而这些错误Delphi团队第一次做时学会了避免。 - Mason Wheeler
看,这是一个内部工具,不是很复杂 - 主要是在这里和那里复制文件。虽然引进一位Delphi/C#大师来转换我们所有的内部应用程序可能会很好,但这不会发生。感谢您的建议,但我认为我们在这里做得很好! - JimDaniel
1
哦。那么,如果这只是一个内部工具,那就随便做吧。 - Mason Wheeler
4
Jim Daniel(回复你的第一个评论):即使如此,在我的看法中,重新在C#中开始是比转换更好的选择。如果你真的想要改变,就要彻底地做出改变。 - Marco van de Voort
显示剩余3条评论
6个回答

6
Indy是Internet Direct的简称,是一个用于进行网络操作的开源库。它最常用于执行与互联网相关的任务,例如发送电子邮件等。
如果您正在将遗留应用程序(例如Delphi 7)从Indy 8或9迁移至Delphi 2007,则会发现在Delphi 2007中使用Indy 9会更容易一些。如果您不介意的话,请使用Indy 10,因为它对该库进行了许多重大改进,并且还有一些重大的架构变化。

3

一些细节:

  • 据我所知,Indy10已经在D2005中了,尽管版本D2005和D2006允许选择安装哪个版本。
  • ... ... 这并不重要,在任何情况下都应该安装最新的版本以获取最新的修复程序。
  • Indy10在内部更好,但由于将其拆分为多个模块,初学者经常会遇到手动编译它的问题。大致来说,Indy开发人员的工作方式被强加给了用户,而我认为这是不必要的,因为所有包实际上必须整体更新。
  • Indy10可移植。 Indy9 Kylix支持仅仅是一个hack。
  • 两者都可以在FPC / Lazarus上工作,但Indy9仅限于win32。 Indy10也适用于Unix,OS X,Win64和WinCE。在Lazarus上,Indy10端口通常更好。
  • 上次我进行重要工作时,Indy10示例不如Indy9示例。
  • Indy10陷入了.NET泥沼,并且比indy9少得多。随着Indy10生命周期的延长,这种情况变得越来越糟糕。
  • Indy10的一些最初目标(例如支持非常高的连接数的纤维支持)未能实现。无论如何,需要重新评估纤维的需求,因为(平均)可用内存的巨大增加,我也不知道微软目前如何看待纤维。

3

3
Indy是一个Winsock封装器,为网络/互联网编程(ftp、telnet、http等)提供阻塞套接字行为。
Indy 10是Indy 9的更新版本,虽然更改可能改进了架构,但它们删除了一些功能并移动了一些东西。如果您的程序使用了已移动或删除的部分,则将其移植到Indy 10将会很痛苦。
如果您从Delphi转移到C#,则会发现C#版本的Indy与Delphi版本非常不同。至少在我查看时是这样的。

1

BorCon 2004 Programming Tracks中包含了一篇由Chad Hower撰写的文章Upgrading to Indy 10

摘要:本次会议涵盖了Indy 10所做的更改以及如何快速移植现有代码。它还涵盖了Indy 10的优点以及为什么应该移植您的代码。虽然会展示性能和其他演示,但本次会议是一个实用概述,不重点展示演示代码。

内容:

  • 升级到Indy 10
  • Indy 10状态
  • 安装并行版本
  • 兼容性
  • 迁移
  • 主要更改和添加

+1 这是一条好的链接,链接到了一些好的内容。非常感谢。 - Sam

1

Indy Delphi是Delphi的一个库(Tcomponent),代表了WinSock的真正力量。它提供了用于隧道、TCP/UDP连接等组件,以及更多功能。

官方页面为:http://www.indyproject.org 您可以在那里找到所需的一切。

Indy 9是Indy库的旧版本。 Indy 10于2008年与Delphi 2009一起发布。Indy 10中整个库的结构都发生了变化。

我认为Indy 9更好。


Delphi 2006带有Indy 10。 - Frank Shearar

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