One significant change in Indy 10 is the reorganization of the library into four separate packages.
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:
IndySystem70.dpk
For platforms that offer support for .Net, the package file naming convention is similar but includes a suffix that indicates support for the .Net platform. For example:
IndySystem80Net.dpk
For packages that include designtime components, an additional package file is available. For instance, the designtime IndyCore package file for Delphi 7 is represented by the following:
dclIndyCore70.dpk
.DPK files are located in the same directory as the source code for the package. The following is a list of the package file names and directory names relative to the Indy installation directory:
.\System\IndySystem40.dpk |
.\Core\IndyCore.40.dpk |
.\Core\dclIndyCore.40.dpk |
.\Protocols\IndyProtocols40.dpk |
.\Protocols\dclIndyProtocols40.dpk |
.\System\IndySystem50.dpk |
.\Core\IndyCore.50.dpk |
.\Core\dclIndyCore.50.dpk |
.\Protocols\IndyProtocols50.dpk |
.\Protocols\dclIndyProtocols50.dpk |
.\System\IndySystem60.dpk |
.\Core\IndyCore.60.dpk |
.\Core\dclIndyCore.60.dpk |
.\Protocols\IndyProtocols60.dpk |
.\Protocols\dclIndyProtocols60.dpk |
.\System\IndySystem70.dpk |
.\Core\IndyCore.70.dpk |
.\Core\dclIndyCore.70.dpk |
.\Protocols\IndyProtocols70.dpk |
.\Protocols\dclIndyProtocols70.dpk |
.\SuperCore\IndySuperCore.70.dpk |
.\SuperCore\dclIndySuperCore.70.dpk |
.\System\IndySystem80Net.dpk |
.\Core\IndyCore.80Net.dpk |
.\Core\dclIndyCore.80Net.dpk |
.\Protocols\IndyProtocols80Net.dpk |
.\Protocols\dclIndyProtocols80Net.dpk |
|
Indy Packages for Delphi 2005 (Win32 support)
|
|
.\System\IndySystem90.dpk |
.\Core\IndyCore.90.dpk |
.\Core\dclIndyCore.90.dpk |
.\Protocols\IndyProtocols90.dpk |
.\Protocols\dclIndyProtocols90.dpk |
.\System\IndySystem90Net.dpk |
.\Core\IndyCore.90Net.dpk |
.\Core\dclIndyCore.90Net.dpk |
.\Protocols\IndyProtocols90Net.dpk |
.\Protocols\dclIndyProtocols90Net.dpk |
.\System\IndySystem90.dpk |
.\Core\IndyCore.90.dpk |
.\Core\dclIndyCore.90.dpk |
.\Protocols\IndyProtocols90.dpk |
.\Protocols\dclIndyProtocols90.dpk |
.\System\IndySystem100Net.dpk |
.\Core\IndyCore.100Net.dpk |
.\Core\dclIndyCore.100Net.dpk |
.\Protocols\IndyProtocols100Net.dpk |
.\Protocols\dclIndyProtocols100Net.dpk |
Installation of the Indy library using the package files is a very simple process. Package files need to be built in the following order:
If a package has both runtime and designtime .DPK files, the runtime .DPK must be compiled. The designtime .DPK file must be compiled and installed in the IDE. Since source code resides in separate directories for each package, the directory name for any dependent package must be added to the library search path using the IDE options. For example, the following steps are required to install Indy 10 for Delphi 7 including the optional IndySuperCore package:
Package |
Package file name |
Action(s) |
IndySystem |
$(Indy)\System\IndySystem70.dpk |
Compile |
IndyCore |
$(Indy)\Core\IndyCore70.dpk |
Compile |
IndyCore |
$(Indy)\Core\dclIndyCore70.dpk |
Compile/Install |
IndyProtocols |
$(Indy)\Protocols\IndyProtocols70.dpk |
Compile |
IndyProtocols |
$(Indy)\Protocols\dclIndyProtocols70.dpk |
Compile/Install |
IndySuperCore |
$(Indy)\SuperCore\IndySuperCore70.dpk |
Compile |
IndySuperCore |
$(Indy)\SuperCore\dclIndySuperCore70.dpk |
Compile/Install |
As a result of package and unit changes, the Uses clause in programs may need to be edited to reflect that the proper file name is in use. This could be a result of different search or library paths in the IDE, but most often it is because something moved from one unit to another unit and can no longer be resolved at compile time.
When attempting to open a project created with a prior version of Indy, you may receive warnings about missing properties when loading DFM files. This is caused by Forms or Frames that contain visual Indy components with properties that have been removed or renamed in Indy
For more information about .Net-specific code and issues, please refer to the Delphi documentation in the "Porting Applications to VCL for .Net" section.
Internet Direct (Indy) version 10.1.5
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved. Website http://www.indyproject.org. Post feedback to the Indy Documentation newsgroup. |