TIdFTP LIST ---> AV

Hello newsgroup

I'm having a puzzling problem with the Indy TIdFTP component (using the
component set from IndyWin32_9_00_11_Src.zip with Delphi 6 Ent. sp2). If I
issue a LIST command, but the component isn't 'connected' I get an
EAccessViolation.

I'd expect an exception, sure, but I don't understand why I'm not getting
something more sensible, like an EIdNotConnected - or some other sort of
Indy exception. I don't want to have to do:

try
  IdFTP1.List(AStringList, '', True);
except on
  EAccessViolation
Exception
  <handle exception>
end;

...because I'm not comfortable with 'catch all' code like that, and I might
want to handle other kinds of exceptions elsewhere anyway. Tracing the path
of execution, things seem to go wrong at line 375 in IdFTP.pas:

BoundIP := (Self.IOHandler as TIdIOHandlerSocket).Binding.IP;

...because we immediately jump to the 'finally' part of TIdFTP.InternalGet -
although I can't really work out why.

I've attached a small project in the 'attachment' group (with the same
Subject line as this message) which demonstrates the problem. I've tried it
on 3 different machines (with 2 different Windows OS's), so I'm fairly
confident that it's not a PC specific issue.

Any suggestions/explanations much appreciated!

Chris