Hallo Leute!
Ich habe ein Problem bei der Behandlung einer
Exception.
Ich benutze die Internetkomponenten Clientsocket und Serversocket, um eine Verbindung zwischen zwei Rechner herzustellen.
Soweit funktioniert auch alles.
Problem:
Kann eine Verbindung aus irgend einem Grund nicht hergestellt werden, so wird eine
Exception der Klasse ESocketError durch das System generiert. Damit das nicht durch das System passiert(was eine Fortsetzung des Programmes verhindert) fange ich diese
Exception ab.
Das Problem dabei ist allerdings, das der Rest der Procedur nicht weiter ausgeführt wird.
Quelltext anbei
procedure Tfrm_Client.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
case ErrorCode of
10049:
raise
ESocketError.Create('Sie haben eine ungültige Adresse eingegeben.' +
' Beachten sie bitte, dass eine
IP - Adresse folgender schreibweise unterliegt.' + ' XXX.XXX.XXX.XXX'
+ #10#13 + 'z.B.: 172.0.0.1');
10061: raise
ESocketError.Create('Die Serveranwendung läuft nicht auf dem angegebenen Server, oder die Portnummer ist falsch.!');
10065: raise
ESocketError.Create('Es besteht keine Verbindung zum Netz.');
end;
Ab hier wird nach dem Aufrufen der
Exception nicht mehr ausgeführt!!!
Memo_Client.Lines.Add('Verbindung zu ' + stralledaten[i].aDomain +
' fehlgeschlagen!');
Memo_Client.Lines.Add(' ');
inc(i);
cmd_ProcessBeginClick(nil);
end;