Hallo,
also ich hatte einen thread mythread und nicht Tmythread erstellt. der thread geht jetzt
aber er friert ein, ich denke das liegt daran, dass es client.hasdata nicht gibt.
Code:
unit threadtest;
interface
uses
Classes,idtcpclient,dialogs,StdCtrls,sysutils;
type
tmythread = class(TThread)
private
fclient:tidtcpclient;
fmemo:tmemo;
procedure updatememo;
protected
procedure Execute; override;
public
constructor create(const aclient: tidtcpclient;
const amemo: tmemo);
end;
implementation
uses modul;
constructor tmythread.create(const aclient: tidtcpclient;
const amemo: tmemo);
begin
inherited create(true);
fclient := aclient;
fmemo := amemo;
resume;
end;
procedure tmythread.Execute;
begin
while not terminated do
if fclient. then //<- hasdata ???
synchronize(updatememo)
else
sleep(100);
end;
procedure tmythread.updatememo;
begin
fmemo.Lines.Append(fclient.ReadLn);
end;
end.
Das ist meine Threadunit. und da der thread sonst immer ausgeführt wird, ist es ja klar, dass das prog einfriert. weisst du, was ich da hinter client einsetzten könnte?
Gruß
Spurius