Hallo!
Also ich habe auch das probiert, aber es hat keine Wirkung gezeigt- leider.
Beim IdTCPDemo (bei den
Indy Demos dabei) wird folgendes gemacht:
Man definiert den IdTCPClienten im Hauptthread und greift zum Lesen von einem anderen Thread aus darauf zu:
Delphi-Quellcode:
while not Terminated do
begin
if not ClientFrmMain.Client.Connected then
Terminate
else
try
ClientFrmMain.Client.ReadBuffer(CB, SizeOf (CB));
Synchronize(HandleInput);
except
end;
end;
Und zum Schreiben wird im Hauptthread einfach Folgendes gemacht:
Client.WriteBuffer (CommBlock, SizeOf (CommBlock), true);
Darf man das tun? Ich meine: Kann es da nicht sein, dass der "Lese"- Thread gleichzeitig mit dem Hauptthread auf den IdTCPClienten zugreift? Beim Demo funktioniert es, aber...
mfg,
EConvertError
Andreas N.