ich habe mir einen Thread gebastelt:
Delphi-Quellcode:
Type
TMyAktuThread = class(TThread)
private
LastTime : byte;
protected
sende : integer;
procedure Execute; override;
procedure DoIt; virtual; abstract;
public
constructor create;
end;
implementation
procedure TMyAktuThread.Execute;
begin
while true do
begin
if StrToInt(copy(TimeToStr(time),7,2))=LastTime then else
begin
if sende = 4 then sende := 1 else inc(sende);
LastTime := StrToInt(copy(TimeToStr(time),7,2));
Synchronize(DoIt);
end;
end;
end;
constructor TMyAktuThread.create;
begin
inherited create(true);
Priority := tpLowest;
LastTime := StrToInt(copy(TimeToStr(time),7,2));
sende := 1;
end;
und von dem noch einen nachfahren:
Delphi-Quellcode:
Type
TSteuerThread =
class(TMyAktuThread)
private
phase : integer;
intervall : integer;
protected
procedure DoIt;
override;
constructor create;
end;
implementation
uses uMain;
constructor TSteuerThread.create;
begin
inherited create;
phase := 1;
intervall := 1;
dec(intervall);
end;
procedure TSteuerThread.DoIT;
begin
case Phase
of
1 :
if intervall < 1
then
begin
verb[1].SendStr('
set:greH');
intervall := 2;
phase := 2;
end
else
dec(Intervall);
2 :
if intervall < 1
then
begin
verb[1].SendStr('
set:yelH');
intervall := 6;
inc(phase);
end
else
dec(intervall);
3 :
if intervall < 1
then
begin
verb[1].SendStr('
set:redH');
intervall := 26;
inc(phase);
end
else
dec(intervall);
4 :
if intervall < 1
then
begin
verb[1].SendStr('
set:ryeH');
intervall := 6;
phase := 1;
end;
end;
dec(intervall);
end;
nun ist mir aufgefallen, dass die create methode vom nachfahren bei
NonnendammSteuer := TSteuerThread.create;
aufgerufen wird bzw garnicht aufzurufen ist. woran liegt das bzw wie kann ich create ausführen lassen?