tags:

views:

2205

answers:

6

Why is there an Indy9 folder (The default install folder of C:\Program Files\CodeGear\RAD Studio\6.0\source\Indy contains subdirectories for "Indy9" and "Indy10") Why are both versions installed? What is using Indy9? I didn't think it had been updated for 2009...is Indy9 now safe to use with Delphi 2009?

+3  A: 

Indy9 is there for compatibility. There were some breaking changes in Indy10 (your code that was written against Indy9 may not compile under Indy10) so you have the option of continuing to use Indy9 (I think the installer prompts and asks what Indy you want to use - at least it did with D2007).

Update: Okay a few people have correctly commented that Indy9 wont compile with D2009 (because of the new Unicode support), so I guess I don't know why it is there.

Alister
The installer does not prompt for Indy9 or Indy10 There is no Indy choice at all during the setup process...there is a choice for Intraweb components though - which seems to have it's own set of Indy source as well! 3 sets of Indy files splattered about and no easy way to update them (another post)
Darian Miller
I think the point was about whether Indy 9 really works with Delphi 2009. I doubt it, since Indy 9 wouldn't have been updated to support Unicode.
Rob Kennedy
If it hasn't been updated to support Unicode, then why is it included in the install?
Darian Miller
Sorry, but this is plain wrong: Yes, Indy10 has breaking changes, but Indy 9 can NOT be used with Delphi 2009.
Roddy
A: 

Keep in mind that the source files are not used unless you tell Delphi to recompile them. If you do not have the Enterprise version you will not even have these folders.

Boris
I don't have the Enterprise Version and I still have the folders.
Darian Miller
My, mistake. Actually if you first install as trial and then register you don't get the sources. In other cases you do.
Boris
A: 

I would imagine it's simply a MISTAKE by CodeGear. Is this true?

Darian Miller
Is this meant to be an answer to your question?
Rob Kennedy
+2  A: 

My guess, it was in the source tree, and was automatically included by installer.

Cesar Romero
+3  A: 

There are some changes in Indy 9 (from the 2007 version) so that it will compile under Delphi 2009 (a few String to AnsiString changes), but based on my tests it doesn't work. It tries to, but does not connect. If you want I can give you the changes that have been added for Unicode support, but I don't believe they are sufficient.

I can't really answer why. I could conjecture a few reasons, but I do not have any insider information.

Is it safe to use? YMMV. There is a lot to Indy, so there may be some parts that work fine for your project. Even a simple test with the TIdTCPClient resulted in Socket Error #11004 every time. Same for TIdHTTP. It seems like I tried the MD5 previously and it just got garbage, but I am not sure on that one.

Answer: It was included by mistake (assumption), and it is not safe to use (based on limited tests).

That is unfortunate, because Indy 10 has issues too, and I have some legacy apps that use Indy 9.

Jim McKeeth
+5  A: 

There is an opened QC report about this, but it's only visible to QC sysops.

The status of "open" typically means that it's accepted that this is a bug, rather than by design.

Remy Lebeau - one of the Indy developers - said this:

The 2009 installer does ship with the Indy 9 source code, but it is not selectable during install. There is a note in the documentation that Indy 9 can be installed manually if needed. But keep in mind that Indy 9 has not been updated to actually support 2009. At the moment, I am not sure if it will be.

Roddy