Hallo,
hier ist der Code meines Threads:
Delphi-Quellcode:
unit threadtest;
interface
uses
Classes,idtcpclient,dialogs,StdCtrls,sysutils;
type
tmythread =
class(TThread)
private
fclient:tidtcpclient;
fmemo:tmemo;
s:
string;
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
fclient.ReadLn(s,500);
//<- wenn ich das bei unten bei updatememo einsetzt, friert
synchronize(updatememo);
// das prog ein, wenn es hier lasse, friet nix ein, aber
sleep(100);
// der thread bewirkt auch nichts
end;
procedure tmythread.updatememo;
begin
fmemo.Lines.Append(s);
end;
end.
Also, oben meine Kommentare im Code, und dann noch ne Frage, es ist schon richtig dass ich den thread im mainthread einfach create, ich muss sonst nichts dort verändern, oder?
Gruß
Spurius