![]() |
idFTP.Connect Fehler abfangen
Hallo
ich habe folgendes Problem: Der User soll die ServerIP in meinem Programm eingeben. Daraufhin soll es zu dem FTP-Server connecten und eine bestimmt File runterladen. Ich will jetzt den Fehler abfangen, wenn der User eine IP eingegeben hat auf dem kein FTP-Server laeuft. Habe folgenden Code ausprobiert:
Delphi-Quellcode:
allerdings sagt mir den Compiler, dass EIdSocketError ein nicht deklarierte Bezeichner
try
IdFTP1.Host := 'Server_IP.Text'; IdFTP1.Port := 21; tmp := copy(RadioGroup1.Items[RadioGroup1.ItemIndex],2, Length(RadioGroup1.Items[RadioGroup1.ItemIndex])); IdFTP1.Username := tmp; IdFTP1.Password := 'Gote_San_seine_Nachricht'; IdFTP1.Connect; IdFTP1.Get('motd.txt','motd.txt'); IdFTP1.Quit; except on E:EIdSocketError DO ShowMessage('Bitte geben Sie die richtige IP' +' ein!') END; ist. Ich habe schon versucht unter uses die IdException-Unit einzubinden. Hilft aber auch nix!!! Was ist da falsch???? was muss ich machen um das zum Laufen zu bekommen??? danke im vorraus JaDuke |
Re: idFTP.Connect Fehler abfangen
Das selbe problem hab ich auch, vll hast du es schon hinbekommen, und könntest mir sagen wie.
MFG |
Re: idFTP.Connect Fehler abfangen
versuchs mal so... :wink:
Delphi-Quellcode:
try
FTP.Connect; if FTP.Connected then begin //Anweisungen end; FTP.Quit; except on E: Exception do begin ShowMessage('Verbindungsfehler :' + E.Message); FTP.Quit; end; end; |
Re: idFTP.Connect Fehler abfangen
Delphi-Quellcode:
So ist das bei mir, aber immer noch kommt dieses meldung ->
procedure TForm1.btn_connect_schoolClick(Sender: TObject);
begin try client.Connect; if not client.Connected then label1.Caption := 'Verbindung fehlgeschlagen' else label1.Caption := 'Verbindung aufgebaut'; btn_connect_school.Enabled := False; btn_disconnect_school.Enabled := true; btn_verbinden.Enabled := True; btn_trennen.Enabled := true; except on E: Exception do begin ShowMessage('Fehler'); label1.Caption := 'Der schülerclient ist nicht gestartet'; end; end; end;
Delphi-Quellcode:
Benachrichtigung über Debugger-Exception
--------------------------- Im Projekt pro_lehrer.exe ist eine Exception der Klasse EIdSocketError mit der Meldung 'Socket Error # 10061 Connection refused.' aufgetreten. --------------------------- Anhalten Fortsetzen Hilfe --------------------------- Aber im release funktioniert es richtig. Danke |
Re: idFTP.Connect Fehler abfangen
kommt die Meldung auch wenn das Programm ausserhalb der IDE läuft?
Grüße Klaus [edit] einiges gelöscht weil es am Thema vorbei war [/edit] |
Re: idFTP.Connect Fehler abfangen
Joa im IDE hatte ich immer noch diesen compiler meldung, aber im exe, als ich das programm so gestartet hatte, kam die richtige meldung.
|
Re: idFTP.Connect Fehler abfangen
Die IDE zeigt Dir jede Exception, egal ob Du sie abgefangen hast oder nicht.
Es gibt da aber einen Complilerschalter - den ich leider nicht mehr weiß , mit dem kann das abgeschaltet werden. Wenn Du hier im Forum suchst, wirst Du sicherlich etwas dazu finden. Grüße Klaus |
Re: idFTP.Connect Fehler abfangen
Diesen option ist mir bekannt, weiß auch wo die ist. Da aber mein software eine kleine kinder bis 2. Schuljahr oder dummys, inet sperre ist, und der client wird plötzlich bei die kinder geschlossen, dass denn nicht der lehrer programm abfuckt. Deshalb musste ich eine exception behandlung reinbauen. Was natürlcih auch das programm stabiler und schöner macht. Als ständig von windows solche hässliche meldungen zu bekommen
|
Re: idFTP.Connect Fehler abfangen
Na, da habe ich Dich wohl falsch verstanden als Du geschrieben hast:
Zitat:
gemeint gewesen:
Delphi-Quellcode:
Das hat mich dann zu der Annahme verleitet, das Dein Problem nur zur Designzeit besteht.
begin
ShowMessage('Fehler'); label1.Caption := 'Der schülerclient ist nicht gestartet'; end; Grüße Klaus |
Re: idFTP.Connect Fehler abfangen
joa diesen code, die du gerade gepostet hattest, kommt nun auch. Aber im GUI, kommt diesen "Klasse" exception meldung. Ich finde die "klasse" da ich glaube, wenn er das nicht anzeigen würde, dass ich erst später den fehler bemerkt hätte. Also sollte jetzt jemand mein programm starten und ein fehler auftreten, kommt wie gewünsch :
Delphi-Quellcode:
begin
ShowMessage('Fehler'); label1.Caption := 'Der schülerclient ist nicht gestartet'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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