Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Clientsoccket wird nicht Active....

  Alt 2. Aug 2004, 20:16
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
  Mit Zitat antworten Zitat