Einzelnen Beitrag anzeigen

hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Indy10 - Seltsames ChangeDir

  Alt 16. Jun 2008, 07:31
Hallo allerseits,

langsam, aber sicher verzweifle ich an dem Verhalten von Indy. Folgendes Problem:

Delphi-Quellcode:
function TF_FTP.VerzeichnisWechsel(Sender: TObject; s: string): boolean;
var
  ok: boolean;
  tmp: string;
begin
    tmp := s;

    try
      IdFTP2.ChangeDir(s);
      ok := true;
    except
      ok := false;
    end;

    result := tmp = s;

end;
Dies ist im Prinzip meine Routine zum Verzeichniswechsel.

Wenn das Verzeichnis bereits besteht, funktioniert alles einwandfrei. Wenn das Serververzeichnis noch nicht besteht, ist trotzdem das ok auf true gesetzt und noch seltsamer ist das Verhalten der Variable tmp:

Diese setze ich am Beginn der Routine auf den gleichen Wert wie s.
Nach dem ChangeDir enthält s den Wert, auf welchen tatsächlich geändert wurde. Gleichzeitig wird auch die Variable tmp auf den gleichen Wert von s verändert ??? Die Variable ok ist in jedem Fall immer true.

Wie ist so was möglich?

Ich bin nicht imstande, einen kontrollierten Verzeichniswechsel durchzuführen, wo ich bei Erfolg true und bei Nichterfolg false zurückbekomme.

Was mache ich hier falsch, bzw. wie kann ich einen kontrollierten Verzeichniswechsel realisieren?

mfg
Herbert
  Mit Zitat antworten Zitat