Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdFTP - Abfragen, ob Ordner existiert...? (https://www.delphipraxis.net/41254-idftp-abfragen-ob-ordner-existiert.html)

SiMc 28. Feb 2005 16:59


IdFTP - Abfragen, ob Ordner existiert...?
 
Hallo

Ich habe eine Frage zu IdFTP (von Indy 9), und zwar:
Gibt es einen einfachen Befehl, der den FTP Server im aktuellen Verzeichnis fragt, ob ein bestimmter Ordner bereits vorhanden ist? Ich bekomme nämlich den Fehler, dass der Ordner nicht erstellt werden konnte, weil er schon vorhanden ist (ist dann ja auch klar) aber das Programm arbeitet dann nicht weiter, sprich das Programm wechselt dann auch nicht in diesen Ordner.

Also ich habe es in etwa so gemacht:

Code:
IdFTP1.Connect;
IdFTP1.MakeDir('Testordner');
Jetzt kommt der Fehler
Code:
IdFTP1.ChangeDir('Testordner');
Ich bin dankbar für alle Antworten :)


---
greetz...

AndreasG 28. Feb 2005 17:23

Re: IdFTP - Abfragen, ob Ordner existiert...?
 
Was fuer ein Fehler kommt den ? Wenn es ein Delphi Exception kommt, dann kannst du diese
abfangen und entsprechend verarbeiten.

Delphi-Quellcode:
uses ...IdException...

try
  IdFTP1.ChangeDir('Testordner');
except
  on <errormessage z.B. E:EIdSocketError > do // tue irgendetwas;
end;

SiMc 28. Feb 2005 17:41

Re: IdFTP - Abfragen, ob Ordner existiert...?
 
Also es kommt dieser Fehler:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EIdProtocolReplyError aufgetreten. Meldung: 'Testordner: Cannot create a file when that file already exists.
'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------


Also habe ich das hier ausprobiert:

Code:
uses
IdExecption;

[...]

try
   IdFTP1.MakeDir('Testordner');
except
   on EIdProtocolReplyError do IdFTP1.ChangeDir('Testordner');
end;
Aber die Fehlermeldung kommt trotzdem noch.

AndreasG 28. Feb 2005 18:46

Re: IdFTP - Abfragen, ob Ordner existiert...?
 
Startest du dein Programm aus der Delphi IDE ? Dann ueberpruefe mal folgende
Einstellung: Menu -> Tools -> Debugger Options ->Language Exceptions -> Stop On Delphi Exceptions.

Alternativ das Programm normal ueber den Windows Explorer starten. Der Debugger fuehrt naemlich nicht
die Anweisung unter Exception aus, sondern stoppt einfach.

Ich wuerde aber die Anweisungen nacheinander ausfuehren, da das Kommando in
der Exception Routine auch einen Fehler produzieren kann.

Delphi-Quellcode:
var errorbit = Boolean;

[...]

try
   IdFTP1.MakeDir('Testordner');
except
   on EIdProtocolReplyError do errorbit := True;
end;


if errorbit then
   begin
     try
        IdFTP1.ChangeDir('Testordner');
     except
        on EIdProtocolReplyError do // tue irgendetwas;
     end;

   end;

SiMc 28. Feb 2005 19:13

Re: IdFTP - Abfragen, ob Ordner existiert...?
 
Zitat:

Zitat von AndreasG
Startest du dein Programm aus der Delphi IDE ? Dann ueberpruefe mal folgende
Einstellung: Menu -> Tools -> Debugger Options ->Language Exceptions -> Stop On Delphi Exceptions.

Vielen vielen Dank, hat bestens geklappt :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz