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?