Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi idFTP.Connect Fehler abfangen (https://www.delphipraxis.net/43973-idftp-connect-fehler-abfangen.html)

jaduke 11. Apr 2005 14:53


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:
    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;
allerdings sagt mir den Compiler, dass EIdSocketError ein nicht deklarierte Bezeichner
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

_seeker 15. Mai 2006 19:45

Re: idFTP.Connect Fehler abfangen
 
Das selbe problem hab ich auch, vll hast du es schon hinbekommen, und könntest mir sagen wie.

MFG

TKC 15. Mai 2006 20:24

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;

_seeker 15. Mai 2006 20:39

Re: idFTP.Connect Fehler abfangen
 
Delphi-Quellcode:
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;
So ist das bei mir, aber immer noch kommt dieses meldung ->

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

Klaus01 16. Mai 2006 06:55

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]

_seeker 16. Mai 2006 12:35

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.

Klaus01 16. Mai 2006 12:50

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

_seeker 16. Mai 2006 12:54

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

Klaus01 16. Mai 2006 13:00

Re: idFTP.Connect Fehler abfangen
 
Na, da habe ich Dich wohl falsch verstanden als Du geschrieben hast:

Zitat:

Joa im IDE hatte ich immer noch diesen compiler meldung, aber im exe, als ich das programm so gestartet hatte, kam die richtige meldung
Habe ich gedacht mit der richtigen Meldung wäre diese Meldung
gemeint gewesen:

Delphi-Quellcode:
begin
  ShowMessage('Fehler');
  label1.Caption := 'Der schülerclient ist nicht gestartet';
 end;
Das hat mich dann zu der Annahme verleitet, das Dein Problem nur zur Designzeit besteht.

Grüße
Klaus

_seeker 16. Mai 2006 13:07

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 17:23 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz