C++Builder6にIndy9をインストール

などを参考にさせてもらった。
 まず、ソースコード(Indy9.zip)をダウンロードして、その中のFullc6.batを実行し、ヘッダファイルを開発環境のIncludeフォルダにコピーし、IndyコンポーネントをBCBに追加した。

 前に(Indy8)で作ったBCBのプロジェクトは、プロジェクトを新しく作り直して、そこに前のフォームやUnitファイルを改めて追加した。Indy関連のコンポーネントは必要に応じて貼り付けなおした。

Indyヘッダのインクルード順

 そのままコンパイルするとwinsock.hとwinsock2.hでfd_setが重複している云々のエラーがどっさり(26個くらい)出た。試行錯誤してみたところ、どうやらIndyのヘッダより前でネットワーク関連の標準コンポーネントのヘッダをインクルードするのがまずいらしい。
 Id〜で始まるヘッダを最初の方でインクルードするとエラーは出なくなった。

Indy60.libが無い

 デフォルトのFullc6.batを使ってビルドすると、Indy60.libが作られなかった。Indy60.libが無いと、「実行時パッケージを使って構築」のチェックを外してコンパイルする場合にエラーになる。

Fullc6.batを書き換え

 まず、(何も考えずに)http://www.programmersheaven.com/mb/bcbuilder/369957/369957/how-to-install-indy-9-in-builder-6/の回答にあるようにFullc6.batをエディタで開き、

%NDC6%\bin\tlib.exe Indy60.lib /P32 @IndyWin32.rsp >nul

の部分を

%NDC6%\bin\tlib.exe Indy60.lib /P32 @IndyWin32.rsp

に書き換えてみたが、やはりlibの作成に失敗する。

IndyWin32.rspを調達

 (しぶしぶ)エラーメッセージをよく読むと、indy60.libを作るときに.rspファイルが無いのがよろしくないらしい。そこで、Indy 9.0.18 in BCB6 Final Steps and Installer - cppbuilderの2番目の回答*1に従って必要なファイルを他から調達した。
 まずは一回Fullc6.batを実行して、生成物の入るフォルダ(C6)を作らせる。次にIndy_9_00_17_src.zipに含まれている IndyWin32.rsp をC6フォルダにコピーする。その上で Fullc6.bat を実行する。これでようやくindy60.libがC6に出来上がった。

これでOK

 indy60.lib をC++Builder6のインストールフォルダの Lib\Release にコピーすると、「実行時パッケージを使って構築」のチェックを外してもコンパイルできるようになった。

*1:I think we can use IndyWin32.rsp in the Indy_9_00_17_src.