Moin!
Das macht nix - wenn man sich den Code der beiden Komponenten mal anschaut:
Delphi-Quellcode:
procedure TAbstractSocket.Open;
begin
Active := True;
end;
procedure TAbstractSocket.Close;
begin
Active := False;
end;
Grundlegend sind aber 2 Gedankenfehler in dem o.g. Code:
1. Das Try/Except ist soweit unnütz, da der Socket mit einem Thread arbeitet und daher die Fehler asynchron zu den Methoden auftreten - nutze das OnError Ereignis statt dessen.
2. Wenn du Active auf True setzt, dann macht er das aus dem in 1. genannten Grund nicht sofort und daher kannst du nicht zwei Befehle später nachfragen ob der Socket aktiv ist.
MfG
Muetze1