An overview of Installing and Removing Internet Direct (Indy) packages using various IDEs.
Installing Indy.Sockets in a Borland IDE involves using the run-time and design-time packages files for the target platform (Win32 or .NET) to compile the source code in the library. After compiling the packages and source code, design-time packages are installed in the IDE to make the components available on the component palette.
Make sure that any previous version of Indy is removed before installing the new version (see below).
Indy source code is normally stored in a directory in a path used for source code for the compiler. For instance:
C:\Program Files\Borland\bds\3.0\source\Indy10 |
C:\Program Files\Borland\bds\3.0\source\Indy10\System |
C:\Program Files\Borland\bds\3.0\source\Indy10\Core |
C:\Program Files\Borland\bds\3.0\source\Indy10\Protocols |
The actual directory names can differ if you're using a version of Indy installed as part of the Borland IDE Installation. The directory names may need to be changed if you want to use a different path, or a path that is shared between several IDE versions.
When building Packages, there are project/package options that allow the end-user to specify where the compiled output of the package and its units are stored.
Option |
Usage |
Output directory |
Specifies where the compiler should put the Delphi compiled units and the executable file. |
Unit output directory |
Specifies a separate directory to contain the .dcu (Win32) or .dcuil (.NET) files. The location of these files can be changed on the Tools -> Delphi -> Options -> Library menu by setting the DCP/DCPIL output directory path. |
Search path |
Specifies the location of your source files. Only those files on the compiler's search path or the library search path will be included in the build. If you try to build your project with a file not on the search path, you will receive a compiler error. You must include the entire search path. Separate multiple directory path names with a semicolons. Whitespace before or after the semicolon is allowed but not required. Relative and absolute path names are allowed, including path names relative to the current position. If you check the Use Debug DCUILs option on the Project -> Options -> Compiler menu, the Debug DCUIL path from Tools -> Debugger -> Options -> Borland .NET Debugger is prepended to this search path. |
Debug source path |
Specifies the search path for the debugger. The debugger searches paths defined by the compiler by default. If the directory structure has changed since the last compile, a path can be entered here to include a file in the debugging session. For Win32 and .NET Delphi language projects, additional directories will be searched in the following order:
Tools -> Options -> Delphi -> Options -> Library menu.
Tools -> Options -> Debugger -> Options -> Borland Debuggers menu. |
Package output directory |
Specifies where the compiler puts generated package files. |
DCP/DCPIL output dir |
Specifies where the .dcp (Win32) or .dcpil (.NET) file is placed at compilation time. If left blank, the global DCP/DCPIL output directory specified in the Tools -> Options -> Environment -> Options -> Delphi -> Options -> Library menu is used instead. |
You must manually add any paths changed using the project/package options using the Tools -> Environment Options -> Delphi Options -> Library menu options. These need to be specified separately for Win32 and .NET usage. These options allow you to specify directories, compiler, and linker options for all packages.
Item |
Description |
Library path |
Specifies search paths where compiler can find the source files for the package. The compiler can find only those files listed in the library path. If you try to build your package with a file not on the library path, you will receive a compiler error. |
Package output directory |
Specifies where the compiler should put compiled packages files. |
DCP/DCPIL output directory |
Specifies a separate directory to contain the .dcp (Win32) or .dcpil (.NET) files. |
Browsing path |
Specifies the directories where the Project Browser looks for unit files when it cannot find an identifier on the project search path or source path. For Win32 and .NET Delphi language projects, the directories specified with this option are appended to the debug source path for the project. So the debugger search order for unit files is determined by the following path settings:
the Project -> Options -> Directories/Conditionals menu.
the Tools -> Options -> Debugger Options -> Borland Debuggers menu. |
Debug DCU/DCUIL path |
To use this option, you must set Use Debug DCU/DCUILs on the ProjectOptionsCompiler page. When that option is set and a path is given, the debugger looks for the .dcu (Win32) or .dcuil (.NET) files in this path before looking in the unit search path. |
Make sure that the Browsing Path option includes the directories where the Indy.Sockets source code is located, and that the Library option includes a path to the compiler output for the Indy.Sockets packages. Debug Path is required only when a separate pre-compiled version of debug DCUs are stored on your system.
For example, add the following to the Browsing path for Borland Delphi 2005 and above:
($BDS)\source\Indy10\System |
($BDS)\source\Indy10\Core |
($BDS)\source\Indy10\Protocols |
Add the following to the Library path for Borland Delphi 2005 and above:
($BDS)\lib\Indy10 |
Add the following to the Debug path for Borland Delphi 2005 and above:
($BDS)\lib\debug\Indy10 |
Installing Indy.Sockets in a Borland IDE involves using the run-time and design-time packages files to compile the source code in the library. After compiling the packages and source code, design-time packages are installed in the IDE to make the components available on the component palette.
For Delphi and C++ Builder, the run-time package files should be opened and compiled in the following order:
For Delphi and C++ Builder, the design-time package files should be opened, compiled, and installed in the following order:
For the Kylix IDE, the run-time package files should be opened and compiled in the following order:
For the Kylix IDE, the design-time package files should be opened, compiled, and installed in the following order:
Please note that Kylix (and Linux in general) is case sensitive and you may have to adjust certain paths or filenames to match your system.
To use Indy.Sockets in the Visual Studio.NET IDE (or with Mono), you must have the pre-compiled Indy.Sockets.DLL assembly available on the Indy website. Indy.Sockets is developed using the Delphi (formerly known as Object Pascal) language, so the assembly cannot be rebuilt from the source code using these IDEs.
Store the Indy.Sockets.DLL assembly in a path where you can add an Assembly Reference to the project or solution for the file Indy.Sockets.dll.
Please not that the Indy.Sockets assembly for .NET does not contain all Indy features and protocols yet. We are adding more and more of them each week. Currently it contains about 95% of the functionality including TCP clients and servers, UDP, FTP, NNTP, SMTP, POP3, IMAP4 (client), and more.
Visual Studio .NET Requirements
Removing Indy.Sockets from a Borland IDE generally requires removing the run-time and design-time packages from the list of installed packages in the IDE.
If you are using a version of Indy.Sockets that was installed as part of the installation process for the Borland IDE, you will need to use the Borland Installer to remove the components (or use the Add/Remove Program option in the Control Panel). The Borland Installer also includes debug versions of the .OBJ and/or .DCU files which need to be manually deleted.
In general, deleting the following files from the specified directories will ensure that the Indy.Sockets version 10 library has been removed.
($BDS)\bin\IndySystem*.bpl |
($BDS)\bin\IndyCore*.bpl |
($BDS)\bin\IndyProtocols*.bpl |
($BDS)\bin\dclIndyCore*.bpl |
($BDS)\bin\dclIndyProtocols*.bpl |
($BDS)\bin\IndySystem*.dll |
($BDS)\bin\IndyCore*.dll |
($BDS)\bin\IndyProtocols*.dll |
($BDS)\lib\Indy10\Id*.dcu |
($BDS)\lib\Indy10\Id*.dcuil |
($BDS)\lib\Indy10\Id*.dcpil |
($BDS)\lib\Indy10\Indy*.dcp |
($BDS)\lib\Indy10\Indy*.dcpil |
($BDS)\lib\debug\Indy10\Id*.dcu |
($BDS)\lib\debug\Indy10\Id*.dcuil |
($BDS)\lib\debug\Indy10\Id*.dcpil |
($BDS)\lib\debug\Indy10\Indy*.dcp |
($BDS)\lib\debug\Indy10\Indy*.dcpil |
Please note that using the Project/Package options to change paths will result in the previous list being invalid for your Indy.Sockets installation. Use the Browsing, Library, and Debug paths indicated in the Project/Package options when deleting files.
Make sure that you also remove any Library path settings in the IDE search paths using the Tools -> Environment Options -> Library menu options.
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
|
Post feedback to the Indy Docs Newsgroup.
|