Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Timer direkt aufrufen (https://www.delphipraxis.net/79371-timer-direkt-aufrufen.html)

Go2EITS 21. Okt 2006 09:14


Timer direkt aufrufen
 
@Alle

Ein Problem, das während des Programmierens auftrat:
Ein Timer setzt erst nach der abgelaufenen Zeit ein. Das ist aber für mich zu spät.
Wie kann ich den Timer direkt aufrufen, damit ich bei Programmstart z. b. beim ONSHOW Ereignis den Timer sofort durchlaufe?


Beste Grüße
Go2EITS

fwsp 21. Okt 2006 09:23

Re: Timer direkt aufrufen
 
du willst das das ereignis des timers direkt aufgerufen werden kann?
lager es in eine andere prozedur aus, die dann vom timer und von dir direkt aufgerufen werden kann.

kolbaschedder 21. Okt 2006 09:26

Re: Timer direkt aufrufen
 
die Frage ist etwas unklar, ich nehme mal an, du hast beriets einen Timer, und in der OnShow-Routine setzt du dann

Delphi-Quellcode:
Timer1.enabled := true;
Du kannst die onTimer-Routine aber auch direkt aufrufen, bsw.,

Delphi-Quellcode:
onTiner1();
Timer1.enabled := true;
MfG

Kolbaschedder

Daniel 21. Okt 2006 09:30

Re: Timer direkt aufrufen
 
*autsch*
Nein, ich würde auch dafür plädieren, dass Du den Code in eine eigene Routine auslagerst und diese dann gezielt aufrufst. Die OnTimer-Methode per Hand aufzurufen ist in meinen Augen absolut unsauber.

kolbaschedder 21. Okt 2006 09:38

Re: Timer direkt aufrufen
 
Was soll daran unsauber sein.
Die onTimer ist ne ganz normale Prozedur. Sie wird vom Timer-Objekt lediglich als Callback benutzt.

Khabarakh 21. Okt 2006 09:42

Re: Timer direkt aufrufen
 
Wenn das Wörtchen Sender nicht wär, ...

kolbaschedder 21. Okt 2006 09:43

Re: Timer direkt aufrufen
 
Delphi-Quellcode:
Timer1Timer(nil)
dann kannst du sogar anhand des Senders unterscheiden, wer dich aufgerufen hat

3_of_8 21. Okt 2006 09:46

Re: Timer direkt aufrufen
 
Es ist trotzdem unsauber.

Routinen- und Methodenbezeichner müssen mehr oder weniger selbsterklärend sein.

OnTimer bedeutet für mich "das Ereignis, das aufgerufen wird, wenn der Timer abläuft" und nicht "das Ereignis, das aufgerufen wird, wenn der Timer abläuft und manchmal auch zwischendurch, wenn der Programmierer grad Lust drauf hat".

kolbaschedder 21. Okt 2006 09:58

Re: Timer direkt aufrufen
 
dann schreiben wir eben eine Methode

procedure MachIrgendwas(Sender :TObject);

in der formCreate dann

Timer1.OnTimer := MachIrgendwas;


dann dürfte es sauberer sein. Oder wir benennen die "Timer1Timer" einfach in "Timer1TimerOderWannAuchImmer" um.

Balu der Bär 21. Okt 2006 10:04

Re: Timer direkt aufrufen
 
Letztendlich ist es doch völlig egal ob es nun sauber oder unsauber ist, hauptsache der Programmierer kommt damit klar. Wenn mehrere Leute mit dem Quelltexten arbeiten sollten wäre es aber wohl doch etwas strange.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr.
Seite 1 von 2  1 2      

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