6
votes

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?

5

5 Answers

6
votes

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.

3
votes

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.

3
votes

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.

2
votes

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

0
votes

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.