Hi,
ich hab nun mal versucht, dein Beispiel bei mir anzubauen. Der Thread läuft, aber es kommt nichts an.
Code:
Delphi-Quellcode:
procedure TClientHandler.Execute;
var
SizeOfIncomingStream: Integer;
begin
while not Terminated do
begin
if Form2.TCPClient.Connected then
begin
try
CS := TChatStream.Create;
SizeOfIncomingStream := Form2.TCPClient.ReadInteger();
Form2.TCPClient.ReadStream(CS, SizeOfIncomingStream);
Synchronize(HandleInput);
CS.Free;
except
CS.Free;
end;
end;
end;
end;
procedure TClientHandler.HandleInput;
begin
Form2.HandleInput(CS);
end;
procedure TForm2.HandleInput(var ChatStream: TChatStream);
var
CP: TChatParser;
begin
CP := TChatParser.Create(ChatStream.Msg);
CP.Parse;
HandleMessages(CP);
CP.Free;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
ClientThread := TClientHandler.Create(true);
ClientThread.FreeOnTerminate := true;
ClientThread.Resume;
end;
Woran könnte das noch liegen?