Wie heißt die exception?

Delphi/ Indies

Per IDFTP lade ich Dateien auf unseren Homepage-Server hoch:

strig1 := edit23.Text + '/smgtit1a.jpg';  
strig2 := 'smgtit1a.jpg';  
try  
idftp1.Delete(strig2);  
except  
end;  
memo5.lines.Add('=\> Upload: Titelbild a: ' + strig2);  
IdFTP1.Put(strig1 , strig2, true);  

Bevor die Datei „smgtit1a.jpg“ hochgeladen wird, möchte ich die evtl. dort vorhandene Datei gleichen Namens löschen; das tue ich hier mit „idftp1.Delete(strig2);“.

Nun hätte ich gerne die Kontrolle, ob ein solcher Löschvorgang stattgefunden hat. Das könnte ich doch zwischen „except; end;“ abfragen: Etwa so:

on geloescht_ok do memo5.lines.Add('Datei ’ + strig2 + ’ gelöscht);

Was muss ich als exception für „geloscht_ok“ einsetzen?

Gruß

Jeppes

Hallo,

löst die Funktion idftp1.Delete(strig2) denn eine exception aus, wenn die Datei nicht gelöscht werden konnte?

Wenn Ja:

allesOK = TRUE;
try
 idftp1.Delete(strig2)
except
 on exception do
 begin
 // Fehlermeldung ausgeben etc...
 allesOK = FALSE;
 end
end;
if allesOK then
begin
 // weiter im Text...
end;

Wenn Nein:

evtl. Nach dem Löschen nochmal nachsehen, ob die Datei noch existiert, zB. mit FileExists. Um zusätlich andere Exceptions abzufangen, kannst du folgende Zeile einfach nach idftp1.Delete(strig2) aufrufen:

 if FileExits(strig2) then raise EInOutError.create("{Fehlermeldung}");

Gruß,
Jochen

Danke, Jochen, hast mir gut geholfen!