Autor Beitrag
Sidi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47


Delphi XE5 Prof.
BeitragVerfasst: Mo 31.12.07 13:40 
Hallo zusammen,

Ich arbeite mit Delphi 2007 Prof. und den Indy Komponenten 10.1.5, ich habe keine Möglichkeit gefunden zu prüfen ob ein Verzeichnis bereits existiert oder nicht. Beim Versuch ein bereits existierendes Verzeinis erneut anzulegen wird eine Exception erzeugt die ich mit try - except abfange.
ausblenden Quelltext
1:
2:
3:
4:
5:
try
  idFTP.MakeDir(Verzeichnis)
except
  {no Action}
end;


Mein Problem ist nun dass ich mit dieser Methode nicht feststellen kann ob es sich lediglich um den Versuch ein existierendes Verzeichnis erneut anzulegen handelt oder ob ggf. ein anderer Fehler vorliegt.

Weiß jemand wie ich im Except-Block den erzeugten Fehler auslesen und identifizieren kann (Fehlerliste) um ggf. reagieren zu können?

Gruß
Sidi
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 31.12.07 13:45 
Wenn du den gesamten Verzeichnisinhalt des aktuellen Ordners ausliest, stehen da auch Unterordner drin.

Auf verschiedene Arten von Meldungen kannst du ganz normal über on e:EWasWeißIchWas reagieren. Wenns die gleiche Klasse für die Exceptions ist, muss man sich dann halt mit e.Message auseinandersetzen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Sidi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 47


Delphi XE5 Prof.
BeitragVerfasst: Mo 31.12.07 13:57 
Hallo,

danke für die schnelle Antwort.

das Auslesen des Fehlers könnte etwa so aussehen:

ausblenden Quelltext
1:
2:
3:
4:
5:
try  
  idFTP.MakeDir(Verzeichnis)  
except  
  on E: EIdException do showmessage(E.Message); 
end;


wie kann ich aber erfahren zu welchem Fehler welche message gesendet wird und/oder gibt es ggf. eine Fehlernummer die eindeutig zugeordnet werden kann?

Gruß
Sidi