Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi WinSocket Fehler abfangen? (https://www.delphipraxis.net/20620-winsocket-fehler-abfangen.html)

skyphab 20. Apr 2004 16:11


WinSocket Fehler abfangen?
 
hallo!

ich wundere mich gerade über ein problem, welches ich nicht beheben kann :(
und zwar arbeite ich mit den socket-komponenten von delphi (in diesem fall tclientsocket). wenn ich diesen nun öffne
socket.open, verschicke ich beim ereignis onconnected die daten und baue die verbindung wieder ab. soweit klappt das alles wunderbar.

falls aber der server nicht erreichbar ist, kommt ein asynchroner socket-fehler (10061). genau diese fehlermeldung will ich weg haben, denn sie blockiert mir die ganze anwendung. alternativ will in einen eintrag in einer logdatei schreiben, das popup stört leider nur :(

jetzt habe ich natürlich try..except probiert. leider erfolglos:
Code:
try
  ClientSocket.Open;
except
end;
eine andere möglichkeit habe ich im netz gefunden, leider auch ohne erfolg:

Code:
begin
  dwOldErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    try
      ClientSocket.Open;
    except
    end;
  finally
    SetErrorMode(dwOldErrMode);
  end;
end;
ich denke es könnte daran liegen, weil .open immer erfolgreich ist. wenn ich das prinzip richtig verstehe wird der befehl zum öffnen geschickt, was allerdings asynchron geschieht. ich habe auch schon versucht die zeile

Code:
dwOldErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);
im ereignis onlookup einzutragen, auch ohne erfolg :(

gibt es denn keine möglichkeit, die windowsfehlermeldung zu dekativieren? :|

Evian 20. Apr 2004 16:19

Re: WinSocket Fehler abfangen?
 
bearbeite im OnError Event der SocketKomponente den Fehler und setzt am Ende den ErrorCode auf 0 dann gibt es keinen Fehler mehr!

gruß

Evian

skyphab 21. Apr 2004 08:04

Re: WinSocket Fehler abfangen?
 
*omg so einfach aber nirgends stand das. perfekt, funktioniert wunderbar! danke! :cyclops:


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