AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thread Create...

Ein Thema von FabianIBerlin · begonnen am 4. Dez 2005 · letzter Beitrag vom 5. Dez 2005
Antwort Antwort
FabianIBerlin

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

Thread Create...

  Alt 4. Dez 2005, 17: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
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Thread Create...

  Alt 4. Dez 2005, 17:30
Delphi-Quellcode:
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;
Aua.
Nimm statt dem
Delphi-Quellcode:
if blabla = bla then else
begin
end
einfach
Delphi-Quellcode:
if blabla <> bla then
begin
 end
Julian J. Pracht
  Mit Zitat antworten Zitat
FabianIBerlin

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

Re: Thread Create...

  Alt 4. Dez 2005, 17:31
das hilft mir leider absolut nicht zu meinen wirklichen problem!
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#4

Re: Thread Create...

  Alt 4. Dez 2005, 18:22
Der Konstruktor sollte unter public und nicht unter protected stehen, damit man ihn auch außerhalb der Kallse sehen kann.
  Mit Zitat antworten Zitat
berens

Registriert seit: 3. Sep 2004
431 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Thread Create...

  Alt 4. Dez 2005, 22:32
Muss Create nicht auch mit override überschrieben werden? Bin mir da nicht ganz sicher, is nur ne vermutung...
  Mit Zitat antworten Zitat
FabianIBerlin

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

Re: Thread Create...

  Alt 5. Dez 2005, 15:16
Zitat von berens:
Muss Create nicht auch mit override überschrieben werden? Bin mir da nicht ganz sicher, is nur ne vermutung...
Nein, lag schon daran, dass die nicht auf public waren.
Somit thx 2 Phistev
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz