Entwickler-Ecke

Internet / Netzwerk - Fehler abfangen bei IdHTTP


colaka - So 28.12.08 12:58
Titel: Fehler abfangen bei IdHTTP
Hallo,

ich möchte eine Preisliste von einem Lieferanten per IdHTTP von dessen Server herunterladen. Das mache ich mit dem folgenden Code:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  Datei := TFileStream.Create('preisliste.csv', fmCreate);
  IdHTTP.Request.BasicAuthentication := true;
  IdHTTP.Request.Username := TLieferantLfFTPName.AsString;
  IdHTTP.Request.Password := TLieferantLfFTPPasswort.AsString;
  try
    IdHTTP.Get(TLieferantLfServer.AsString, Datei);
    except ShowMessage('Die Datei konnte nicht runtergeladen werden'); end;
  Datei.Free;


Das funktioniert auch einwandfrei.

Ich dachte, mit dem try ... except-Block könnte ich Fehler abfangen, falls beim Herunterladen etwas schief gehen sollte. Doch das funktioniert nicht, denn auch wenn ich falsche Benutzerdaten in meine Lieferantentabellen eintrage, wird ShowMessage nicht ausgeführt.

Was mache ich falsch?
Warum erscheint ShowMessage nicht, selbst wenn das Herunterladen wegen falscher Benutzerdaten nicht funktionieren kann?
Kann man sonst noch irgendwie überprüfen, ob mein Programm überhaupt Zugang zum Lieferantenserver hat?

Danke Ebi

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt


Gausi - So 28.12.08 13:45

Ich denke mal, dass Get dann die Fehlermeldung vom Server bekommt. ;-)

Das heißt: Das Ergebnis von Get auf Sinnhaftigkeit prüfen, und ggf. dann eine Fehlermeldung per Hand ausgeben.