Ich benutze selber immer noch einen TThread der sich um das Thema kümmert, damit die Hauptanwendung nicht blockiert wird.
Delphi-Quellcode:
TClientHandleThread = class(TThread)
private
msg : string;
procedure HandleInput;
protected
procedure Execute; override;
end;
procedure TClientHandleThread.HandleInput;
begin
addlog(msg);
end;
procedure TClientHandleThread.Execute;
begin
while not Terminated do begin
if fmain.myindytcpClient.Connected then begin
try
msg:=fmain.myindytcpClient.ReadLn;
Synchronize(HandleInput);
except
end;
end;
end;
end;
procedure fmain.myindytcpClientDisconnected(Sender: TObject);
begin
try
ClientHandleThread.Terminate;
except
end;
end;
und beim connecten auf den Server
Delphi-Quellcode:
ClientHandleThread := TClientHandleThread.Create(True);
ClientHandleThread.FreeOnTerminate := True;
ClientHandleThread.Resume;
Woher kommen die Daten denn?