I have attached a small program for testing out the TIdleTimer.
The program consist of a loop which can be turn ON or OFF. It is used to make the program to appear busy when turned ON.
You can change the properties of the TIdleTimer on the fly and see how its OnStartTimer/OnStopTimer/OnTimer events behave.
Depending on the AutoStartEvent and AutoEndEvent mode, the OnStartTimer and OnStopTimer events can fire hundreds of times every second.
When the AutoStartEvent condition is met, it will auto turn on the timer and the OnTimer event will fire after the interval set and the OnTimer event will repeats itself until the AutoEndEvent condition has been met.
AutoStartEvent and AutoEndEvent works only if AutoEnabled is true.
When AutoEnabled is false, TIdleTimer works exactly like a normal TTimer.