Hier mal ein Minimalst-Beispiel, was auch komplett auf ein
Handle verzichtet
Delphi-Quellcode:
unit Unit1;
interface
uses
{Winapi.}Windows;
// Startet den Timer oder
// setzt ein neues Intervall für einen aktiven Timer
procedure TimerStart( Interval: UINT );
// Stoppt den Timer
procedure TimerStop;
implementation
var
nIDEvent: UINT_PTR = 0;
// Beim Start kein Timer, also nIDEvent = 0
procedure OnTimer;
begin
// hier irgendwas machen
end;
procedure TimerStop;
begin
if KillTimer( 0, nIDEvent )
then
nIDEvent := 0;
// Wenn der Timer entfernt werden konnte, dann nIDEvent wieder auf 0 setzen
end;
procedure TimerStart( Interval: UINT );
begin
nIDEvent := SetTimer( 0, nIDEvent, Interval, @OnTimer );
end;
end.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)