Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX Timer (https://www.delphipraxis.net/13568-delphix-timer.html)

Mitternachtsfalke 21. Dez 2003 14:11


DelphiX Timer
 
Hi
Ist es normal dass man nur einen DelphiX Timer benutzen kann?
Denn sobald ich einen zweiten nehme, bleibt die DXDraw schwarz.

'FALKE

Dagon 21. Dez 2003 14:17

Re: DelphiX Timer
 
Ich habs bei mir auch mal versucht und siehe da: DXDraw bleibt wirklich schwarz.
Für was brauchst du denn einen zweiten DXTimer?

ATwardz 21. Dez 2003 14:30

Re: DelphiX Timer
 
Bei mir genauso,
eine Form, ein DXTimer aber soviele normale Timer wie man benötigt!

:(

Mitternachtsfalke 21. Dez 2003 18:03

Re: DelphiX Timer
 
mit dem einen Timer will ich images (bin ein game am proggen)
erstellen und mit dem anderen kordinaten abfragen damit
man das feld nicht einfach verlassen kann und ähnliche
Sachen. Da ist es klar dass die Timer verschiedene Intervalle
haben müssen. Ich denke für die meisten Spiele benötigt
man mehrere Timer...

gruß
'FALKE

ATwardz 22. Dez 2003 11:42

Re: DelphiX Timer
 
Hi,

ich würde sgen das ein DXtimer reicht, der dist eigentlich nur für die Darstellung sehr wichtig!
Der Unterschied zwischen DXtimer und einem normalen Timer ist lediglich die Geschwindigkeit!->dx ist etwas schneller!
also wenn du den Interval bei beiden Timer auf 10 stellst, schaft der dX dies während der normale timer nur ca 50 schafft!(so ungefähr)
Für die Koordinatenabfrage müsste ein Interval von 5 hunderstel dicke recihen!

@wardz

Gandalfus 22. Dez 2003 13:10

Re: DelphiX Timer
 
Zitat:

Zitat von Mitternachtsfalke
Hi
Ist es normal dass man nur einen DelphiX Timer benutzen kann?
Denn sobald ich einen zweiten nehme, bleibt die DXDraw schwarz.

'FALKE

Allerding der DelphiX Timer basiert auf dem onidle Ereignis und das giebt es nur einmal. Das onidel kann man auch direkt nutzen z.B.: mit der Komponente ApplicationEvents.

Wenn man 2 Timer will bietet es sich an Threads zu nehmen:
z.B.:
Delphi-Quellcode:
type

  TGandalfusTimer = class(TThread)
  private
    FCount: word;
  public
    constructor create;
    destructor destroy; override;    
    procedure Execute; override;
    procedure start;
    procedure stop;  
  end;

implementation

procedure TGandalfusTimer.Execute;
begin
  while not Terminated do
  begin
    Sleep(Fcount);
     //mache was........
  end;
end;

constructor TGandalfusTimer.create;
begin
  inherited create(true);
end;

destructor TGandalfusTimer.destroy;
begin
  terminate;
  Fcount := 50; //----Intervall
  inherited destroy;
end;

procedure TGandalfusTimer.start;
begin
  resume;
end;

procedure TGandalfusTimer.stop;
begin
  Suspend;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 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