Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Eigene Fehlermeldung ausgeben (https://www.delphipraxis.net/40688-eigene-fehlermeldung-ausgeben.html)

creeky 19. Feb 2005 13:40


Eigene Fehlermeldung ausgeben
 
Hallo,

ich versuch eine Verbindung zu einem Server aufzubauen. Ist dieser Server aber nicht erreichbar, wird automatisch eine Fehlermeldung ausgegeben. Wie kann ich nun diese "unterdrücken" und meine eigene Fehlermeldung ausgeben?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientSocket1.Host := '127.0.0.1';
  ClientSocket1.Port := 77;
  ClientSocket1.Active := true;
end;

alcaeus 19. Feb 2005 13:42

Re: Eigene Fehlermeldung ausgeben
 
Hallo creeky,

bei den SocketCompos gibts AFAIR ein OnError-Ereignis, in welchem du den Fehlercode abfragen und darauf reagieren kannst.

Greetz
alcaeus

Luckie 19. Feb 2005 13:43

Re: Eigene Fehlermeldung ausgeben
 
Ich nehme an, es kommt eine Exception oder? Dann:

Delphi-Quellcode:
try
  ...;
  ...;
  ...;
except
  on EIdXYZ do ShowMessage('Fehler sowieso ist aufgetreten');
end;

creeky 19. Feb 2005 13:56

Re: Eigene Fehlermeldung ausgeben
 
Vielen Dank.
Aber leider lässt sich damit die Fehlermeldung nicht unterdrücken, sodass NUR die eigene ausgegeben wird. Geht das nicht auch noch anders?

Muetze1 19. Feb 2005 14:00

Re: Eigene Fehlermeldung ausgeben
 
Moin!

Die TClientSocket und TServerSocket haben intern einen Thread und somit kommen die Exceptions eh unsynchron zum VCL Thread weshalb ein solcher Try/Except Block jeder Grundlage entbehrt.

Nutze das OnError Ereignis und zum unterdrücken der Fehlerausgabe setze die übergebene Variable ErrorCode auf 0 und gut ist. Beachte dabei aber auch, dass die Fehlermeldung weiterhin von Delphi gemeldet wird so lange du es unter der IDE startest. Wenn du es ohne IDE startest wird die Meldung nicht mehr ausgegeben.

MfG
Muetze1

Luckie 19. Feb 2005 14:01

Re: Eigene Fehlermeldung ausgeben
 
Zitat:

Zitat von creeky
Vielen Dank.
Aber leider lässt sich damit die Fehlermeldung nicht unterdrücken, sodass NUR die eigene ausgegeben wird. Geht das nicht auch noch anders?

Schon mal die Exe außerhalb der IDE gestartet?

creeky 19. Feb 2005 14:01

Re: Eigene Fehlermeldung ausgeben
 
Vielen Dank. Hat wunderbar geklappt!

Chegga 19. Feb 2005 14:02

Re: Eigene Fehlermeldung ausgeben
 
Hi,

übernehme den Code von Luckie und
schalte danach unter Tools/Debugrer-Optionen
die integrierte Fehlersuche aus.
Dadurch wird mitgeteilt, dass du deine Fehler selber abfangen willst/kannst. :zwinker:

MfG Marc

P.S.: Versuch mal die *.exe außerhalb der IDE auszuführen.

[Edit] Schon wieder zu langsam... :wall: [/Edit]

Muetze1 19. Feb 2005 16:56

Re: Eigene Fehlermeldung ausgeben
 
Moin!

Zitat:

Zitat von Chegga
übernehme den Code von Luckie und
schalte danach unter Tools/Debugrer-Optionen
die integrierte Fehlersuche aus.
Dadurch wird mitgeteilt, dass du deine Fehler selber abfangen willst/kannst. :zwinker:

Lass dir gesagt sein, das dies auch nicht ordentlich funktioniert, da dein Programm schon an einer ganz anderen Stelle ist wenn dann z.B. der TimeOut kommt das ein Host nicht aufgelöst werden kann. Da hilft dir dein ganzer Try/Except Block überhaupt nix.

Und die Einstellungen die du angesprochen hast, macht nix weiter als das die Delphi IDE nix mehr ausgibt.

MfG
Muetze1

Luckie 19. Feb 2005 16:59

Re: Eigene Fehlermeldung ausgeben
 
Wie soll das funktionieren? Aller weiterere Code hängt doch davon ab, ob eine Verbindung zustandekommt oder nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 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