Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TClientSockets und Exceptions (Fritz!Box Anrufmonitor) (https://www.delphipraxis.net/89517-tclientsockets-und-exceptions-fritz-box-anrufmonitor.html)

jesus 1. Apr 2007 16:50


TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Hallo,

in meinem Anrufmonitor für die Fritz!Box verwende ich ein TClientSocket zur Kommunikation mit der FB.

Wenn ich die TCP-Verbindung herstelle, würde ich gern die Exceptions abfangen und habe nach dem Createn, dem Event OnError eine Prozedur zugewiesen.

Code:
 MySocket         := TClientSocket.Create(self);
 MySocket.OnError := SocketErr;
 MySocket.OnConnect:= SocketConn;
 MySocket.OnRead  := SocketMessage;
Code:
procedure TForm1.SocketErr(Sender:TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: integer);
begin
 If ErrorCode <> 0 then
 begin
    Status.Simpletext:= 'Could not connect to your Fritz!Box';
    ErrorCode:= 0;
 end;  
end;
Die Ereignisse OnConnect und OnRead laufen auch tadellos, aber ich das Fehlerevent scheint gar nicht auszulösen, da ich in der Prozedur ErrorCode := 0 setze und damit die Exception abfangen müsste (laut Hilfe). Ich bekomme sie aber trotzdem zu sehen ... woran kann's liegen ?

Das komplette Programm liegt in meinem SVN-Repo:

http://svn.berlios.de/svnroot/repos/frox/WatchTheBox

Grüße jesus :)

MrKnogge 1. Apr 2007 16:56

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Was für eine Exception bekommst du denn, mit "ErrorCode:= 0;" funktioniert ja nur bei einem ESocketError.

Gruß

jesus 1. Apr 2007 17:02

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Es ist ein ESocketError > #10061 ... der läßt sich prima erziwngen, wenn man das Prog mit der Firewall blockiert ...

omata 1. Apr 2007 17:07

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Bekommst du die Exception ausserhalb der IDE auch?

jesus 1. Apr 2007 17:25

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Ja ...

ich hatte ganz vergessen zu erwähnen welche Komponenten noch zum kompilieren nötig sind ... ich zähl sie hier mal kurz auf:

CoolTrayIcon: http://www.torry.net/vcl/system/tray...olTrayIcon.zip
TOneInstance: http://www.torry.net/vcl/system/instance/oneinst.zip
ICS: http://www.overbyte.be

Grüße jesus

MrKnogge 1. Apr 2007 18:43

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Moin,

ich habe das ganze jetzt mal getestet, (allerdings ohne OneInstance) und ich bekomme keine Exception.

Gruß

jesus 1. Apr 2007 19:50

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Liste der Anhänge anzeigen (Anzahl: 1)
das würde ich eigentlich auch erwarten, das ich den Fall ja auch abhandele ... aber ich bekomme tatsächlich eine ... ich häng mal das ganze als Screenshot an :)

Grüße jesus :)

MrKnogge 1. Apr 2007 20:18

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
@omata
Die Exeption kommt auch ausserhalb der IDE

Ich konnte es jetzt auch nachvollziehen, aber vorher habe ich keine bekommen, trotz das ich FritzBoxMonitor aktiviert hatte. Ich versuche das mal zu rekonstruieren.

Gruß

jesus 3. Apr 2007 14:42

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Also wie ich das selbst einschätze ist das Problem, dass das Event OnError gar nicht ausgelöst wird ... egal was ich dort versuche ... der Code wird dort nicht ausgeführt ...

jesus

jesus 16. Apr 2007 09:15

Re: TClientSockets und Exceptions (Fritz!Box Anrufmonitor)
 
Hallo,

nachdem ich nochmal ein wenig rumprobiert habe, habe ich festgetsellt, dass normale Verbindungsfehler doch abgearbeitet werden. Nur wenn ich den Zugriff über die Firewall blocke wird OnError nicht ausgelöst ... warum nicht ?

Grüße jesus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:21 Uhr.

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