![]() |
Timer ändern, stoppen mit SetTimer
Hi,
Folgenden Code verwende ich um einen Timer jede Sekunde eine Procedur namens TimerProc ablaufen zu lassen:
Delphi-Quellcode:
Wie, bzw ist es möglich den Timer nun zu stoppen oder die Intervalle zu ändern??
procedure TimerProc(Wnd:HWnd;Msg,TimerID,dwTime:DWORD);stdcall;
begin MessageBox(0,pchar(IntToStr(TimerID)),'ff',MB_OK); end; //....... SetTimer(0,0,3000,@TimerProc); //...... Gruß der_hans //EDIT: Ok wie man den Timer beendet habe ich gerade beim durchstöbern des Forums, herausgefunden:
Delphi-Quellcode:
Nun würd ich noch gerne wissen wie man den Inervall ändert, weil immer einen neuen Timer zu starten ist nicht Sin der Sache :)
KillTimer(0, ID_TIMER);
// Edit: Hat sich auch erledigt, man muss beim ersten Setzen des Timers einfach den Rückgabewert, also das TimerHandle, in einem Integer speichern, und das Handle einfach beim nächsten Aufrufen von:
Delphi-Quellcode:
mit übergeben, dann wird der Wert überschrieben.
SetTimer(0,TimerHandle,3000,@TimerProc);
Eigendlich selbsterklärend. |
Re: Timer ändern, stoppen mit SetTimer
man hätte auch einfach den "alten" Timer löschen (KillTimer) und einen "neunen" mit neuer Zeit starten können :angel2:
(PS: diese "billige" Variante nutzt TTimer, wenn man .Intervall einen neuen Wert zuweißt) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz