Topic Path: Migrating to Indy.Sockets Version 10
Migrating to Indy.Sockets Version 10

Updating any sufficiently large code base always introduces issues of code compatibility. Updating to Internet Direct (Indy) version 10 is no exception to this general rule. Because of bug fixes, new features, refactoring, and requirements for .Net compatibility, some of your Indy 9 code may no longer work. 

In this section, we'll review some of the issues encountered when migrating from the Indy 9 to the Indy 10 code base. Migrating from earlier Indy versions, including Indy 8 (or even Winshoes), is not discussed in this section. The issues are the same, but they occur on an even larger scale. 


Indy 10 adds to its impressive list of supported platforms by including Windows .Net for the new release. Indy 10 supports the .Net platform using DCCIL and Delphi .Net compiler. By using DCCIL, Indy 10 can be used in Delphi 8 as well as other .Net hosted languages like C#, ASP.NET, Visual Basic.Net, and J#.Net.
To accomplish this porting feat, some changes were required of the Indy code base. These changes include the following items specific to supporting the .Net platform:

  • Use of CLR, CIL, and MANAGEDCODE compiler defines
  • Replaced unsafe code for CLR execution
  • Replaced unsafe types for CLR... more 
One significant change in Indy 10 is the reorganization of the library into four separate packages.
  • IndySystem
  • IndyCore
  • IndyProtocols
  • IndySuperCore

Each package, except IndySystem, consists of both a runtime and designtime .DPK file for Delphi compiler versions 4, 5, 6, 7, 8, Delphi 2005, Delphi 2006, and Kylix 3. (IndySystem has only a runtime .DPK file - the designtime .DPK is not required.)
.DPK files for the packages include the package name and the compiler version as part of the package file name. For instance, the IndySystem package file for Delphi 7 is represented by the following:
In this section, we will review some specific changes made to the object hierarchy in Indy 10. These changes will have an impact on any code migrated from Indy 9.
Copyright 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.