Ich hab den Fehler in der IdFTP.pas gefunden:
Delphi-Quellcode:
procedure TIdFTP.SetTransferType(AValue: TIdFTPTransferType);
begin
if AValue <> FTransferType then begin
FTransferType := AValue; //von unten nach hier verschoeben
if not Assigned(FDataChannel) then begin
if Connected then begin
SendTransferType;
end;
//FTransferType := AValue; //muss nach oben
end;
end;
end;
Wenn die markierte Zeile nicht verschoben wird, setzt SendTransferType immer den vorherigen FTransferType und nicht den aktuellen.