Autor Beitrag
colaka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 4

Win XP, W7
Delphi 2005 Prof.
BeitragVerfasst: So 28.12.08 12:58 
Hallo,

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

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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.

_________________
We are, we were and will not be.