views:

1405

answers:

5

I am responsible for porting a Delphi 2007 application to C# and have absolutely no experience with Delphi. I am wondering what is the difference between the two Indy versions Delphi includes - Indy 9 and Indy 10. At this point I don't even know what an Indy is. Can someone help me out? Are they just different versions of the Delphi Library? What are the implications of using one or the other?

Thanks!

A: 

Indy Delphi is a library(Tcomponent) for Delphi representing the true power of WinSock.It provides components for tunelling,TCP/UDP connections and much more.

The official page is: http://www.indyproject.org You will find everything you need there.

Indy 9 is an old version of Indy library. Indy 10 came out in 2008 along with Delphi 2009.The whole structure of the library is changed in Indy 10.

In my opinion,Indy 9 was better.

John
was it ? ... hmm, .... *gg*
ulrichb
Delphi 2006 ships with Indy 10.
Frank Shearar
+2  A: 

Look at the Indy 10 documentation, specifically the sections What's new in Indy.Sockets version 10 and Changes to the Object Hierarchy

http://www.indyproject.org/docsite/html

codeelegance
+5  A: 

Indy is short for Internet Direct, an open-source library for doing networking. It's most commonly used for doing internet-related things, like sending emails and whatnot.

If you're porting from a legacy (say, Delphi 7) application that uses Indy 8 or 9, you'll find using Indy 9 in Delphi 2007 will be an easier port. If you don't care, use Indy 10, as it's got many significant improvements to the library, and there are also some big architectural changes.

Tim Sullivan
+1  A: 

Indy is a winsock wrapper that provides blocking socket behavior for network / internet programming (ftp, telnet, http, etc.)

Indy 10 is a newer version from Indy 9, and while the changes may improve the architecture, they removed some features and move things around. If your program makes use of the parts that were moved or removed then porting to Indy 10 will be painful.

If you are moving from Delphi to C# then you will find the C# version of Indy is VERY different then the Delphi version. Well at least when I looked at it.

Jim McKeeth
A: 

Some details:

  • Indy10 is afaik already in D2005, though versions D2005 and D2006 allow to select which one to install.
  • .... which doesn't matter, in any case always install the latest and greatest to get the newest fixes.
  • Indy10 is better internally, but because they split it in several modules, beginners often have problems manually compiling it. Roughly the way of working of the Indy devels is trust on the users, something that I think was unnecessary in retrospect since all packages must be updated as a whole in practice.
  • Indy10 is portable. The indy9 Kylix support was not much more than an hack.
  • Both work with FPC/Lazarus, but Indy9 only on win32. Indy10 also on Unix, OS X, win64 and wince. On lazarus, the Indy10 port is generally better.
  • Last time I did significant work with it, the Indy10 examples were inferior to the indy9 ones.
Marco van de Voort