Genau, ich habe eine Methode "goToDir", die bei Bedarf die Verbindung herstellt und auch bei Bedarf in das entsprechende Verzeichnis auf dem Server wechselt.
Diese Methode rufe ich in fast allen
FTP-Methoden auf. So stelle ich sicher, dass ich immer im richtigen Verzeichnis auf dem
FTP lande.
Delphi-Quellcode:
function goToDir(Datei:
String): Boolean;
var dir:
String;
begin
Result := False;
try
if NOT Connected
then begin
if NOT Connect
then exit;
end;
Datei := ReplaceStr(Datei, '
/', '
\');
FTP.HostFileName := ExtractFileName(Datei);
if Length(ExtractFileExt(Datei)) = 0
then
dir := ExtractFileDir(IncludeTrailingPathDelimiter(Datei))
else
dir := ExtractFileDir(Datei);
if Length(dir) > 0
then begin
FTP.HostDirName := Dir;
LastDir := dir;
if NOT FTP.Cwd
then exit;
end else
FTP.HostDirName := LastDir;
Result := True;
except
Result := False;
end;
end;