Einzelnen Beitrag anzeigen

skyphab

Registriert seit: 16. Apr 2004
17 Beiträge
 
Delphi 7 Enterprise
 
#1

WinSocket Fehler abfangen?

  Alt 20. Apr 2004, 17:11
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?
  Mit Zitat antworten Zitat