Delphi2009でTIdFTPを使ってはまった

Delphi2009でIndy10のTIdFTPを使っているのですが、どうやらサーバによってはエラーメッセージすら出ずに落ちる。
なぜだろうといろいろ調べていて、ListResultがサーバによって違うのに気づいた。そういやFTPってそういう面倒な仕様ですね。
この記事を元に解決。
TIdFTP.DirectoryListingで「No IdFTPListParse classes have been registered.」の例外が発生するときの対処方法 (山本隆の開発日誌)
記事はC++Builderの話だけども、Delphiでも同様に、usesにIdAllFTPListParsersを追加する必要がある。
例.

uses
  Windows,
  Classes,
  SysUtils,
  IdAllFTPListParsers, // これを追加
  IdFTP;