![]() |
FTP Fehler Fenster nicht anzeigen
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
ich realisiere über FTP einen Upload. Wenn man nun keine Internetverbindung hat, oder per Firewall den Internetzugriff verhindert, kommt ein ziemlich häßliches Hinweisfenster. Wie kann ich dieses Fenster (siehe Anhang) unterdrücken und die Nachricht stattdessen in ein Label ausgeben? Hier mein (ziemlich einfacher) Code:
Delphi-Quellcode:
procedure TFormSys.BtFTPClick(Sender: TObject);
begin BtSpeichern.Click; IdFTP1.Host:= '***'; IdFTP1.Port:= (21); IdFTP1.Username:= '***'; IdFTP1.Password:= '***'; IdFTP1.Connect; IdFTP1.Put(ExtractFilePath(ParamStr(0)) +'Systeminfos '+ GetUsername + '.txt', ExtractFileName('Systeminfos '+ GetUsername + '.txt')); IdFTP1.Disconnect; end; |
AW: FTP Fehler Fenster nicht anzeigen
Schau dir mal try-except und try-finally an :) Guckst du
![]()
Delphi-Quellcode:
procedure TFormSys.BtFTPClick(Sender: TObject);
begin BtSpeichern.Click; IdFTP1.Host:= '***'; IdFTP1.Port:= (21); IdFTP1.Username:= '***'; IdFTP1.Password:= '***'; try IdFTP1.Connect; except on E : Exception do begin LabelError.Caption := 'Could not connect to server: ' + E.Message; Exit; end; end; try try IdFTP1.Put(ExtractFilePath(ParamStr(0)) +'Systeminfos '+ GetUsername + '.txt', ExtractFileName('Systeminfos '+ GetUsername + '.txt')); except on E : Exception do begin LabelError.Caption := 'Could not put data to server: ' + E.Message; end; end; finally IdFTP1.Disconnect; end; end; |
AW: FTP Fehler Fenster nicht anzeigen
Ich habe es bei mir so, bin aber nicht zu 100% sicher.
Delphi-Quellcode:
//Edit: Shark war schneller
try
idftp1.Connect; try idftp1.Put(.. except // putError end; idftp1.DisConnect; except // ConnectError end; |
AW: FTP Fehler Fenster nicht anzeigen
Hatte noch einen Fehler oben, da ich das Exit beim ersten except-Block vergessen hatte.
|
AW: FTP Fehler Fenster nicht anzeigen
Zitat:
Delphi-Quellcode:
.. := Create(..);
try try Connect; Put; except on E: Exception do // Ausnahmefehler behandeln end; finally ..Free; end; |
AW: FTP Fehler Fenster nicht anzeigen
Zitat:
|
AW: FTP Fehler Fenster nicht anzeigen
Wieso? Wenn die Verbindung nicht aufgebaut werden konnte, bekommst du eine Exception von der Connect-Methode mit entsprechender Fehlermeldung, wird die Exception von der Put-Methode geworfen bekommst du eine entsprechend von der Put-Methode mit zugehörigem Fehlertext. Du weißt also ganz genau wer warum eine Exception schmeißt. Und wenn du dir noch die Dokumentation anguckst, kannst du gezielt reagieren:
Delphi-Quellcode:
on E: EConnectError do
...; on E: EPutError do ...; on E: Exception do ...; |
AW: FTP Fehler Fenster nicht anzeigen
Delphi-Quellcode:
Und guckt dir mal an, was für unterschiedliche Exceptions geworfen werden. Auf die kannst du gezielt reagieren.
procedure TForm16.FooBar;
begin try IdFTP1.Connect; IdFTP1.ChangeDir('html'); IdFTP1.Put('D:\Computer\exclude.lst', 'exclude.lst'); except on E: Exception do ShowMessage(E.ClassName); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz