Ich brauche einen Timer in einer
Unit oder Klasse (ist noch nicht klar). Bei einem Formular packe ich einfach die Timer Komponente drauf und gut ist es. Nur wie mache ich das wenn ich kein Formular habe?
Ich hab mir die Timer Komponente angeguckt, auf das nötigste, zumindest was ich für nötig halte, gestaucht, und den Code erstellt. Funktionieren tut es, gleich beim ersten Mal. Nur bei mir hat noch nie etwas beim ersten Mal funktioniert, was mich skeptisch macht.
Ich brauch es nicht kompliziert, nur eben, dass etwas im Takt ausgeführt wird. In dem Code der TTimer Komponente wird noch auf WM_TIMER geprüft. Ist das nötig?
Was mich wundert ist auch IDEvent. In der
Api-Hilfe steht, dass der Wert nur von Null verschieden sein soll. Bei der Timer-Komponente steht da einfach ein 1. Aber so wie ich es verstanden haben wird der Wert bei KillTimer benötigt um das Ganze zu stoppen. Wie wird hier also zwischen den einzelnen Timern unterschieden?
Delphi-Quellcode:
const
IDEvent: Integer = 1; //Von Null verschieden
var
a: Integer = 0;
procedure OnTimer;
begin
Inc(a)
end;
procedure TimerStop;
begin
KillTimer(Application.Handle, IDEvent);
end;
procedure TimerStart;
var
Interval: Cardinal;
begin
TimerStop;
Interval := 1000;
SetTimer(Application.Handle, IDEvent, Interval, @OnTimer);
end;