Einzelnen Beitrag anzeigen

EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#8

Re: TIdTCPClient.ReadLn kehrt nicht zurück!?

  Alt 31. Okt 2003, 17:51
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.
  Mit Zitat antworten Zitat