Thema: Delphi Thread Create...

Einzelnen Beitrag anzeigen

FabianIBerlin

Registriert seit: 6. Mär 2005
43 Beiträge
 
#1

Thread Create...

  Alt 4. Dez 2005, 18:16
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?
  Mit Zitat antworten Zitat