I ran into a problem I can't seem to solve.
Lets say I create a database that uses 10 timers. Some run every day, others run on certain days of the week, month or year.
To test if the timers are working I changed the date and time on my PC so to pretend that it's just moments before the timers are expected to run.
No problem here. Everything works find and I can see my timers have run.
However, when I set my PC back to the right time the Timers will not run. After investigating this I noticed that somehow the timers are able to remember the last date and time they have run and they won't run for me again until that date and time they last run has passed.
So my question is, does anyone know where the timers are storing this last run information and how do I clear it.
Currently the only solution I've found is to the timers and rewrite them.
Timers dont store info.
Now be sure your comparisons take in the fact it is date AND time.
If you are storing time in a variable it also has a date. Make sure you compare
time w time, or
date/time with date/time.
I thought that too, but something is most certainly remember the timer has run which is preventing it from running again until the current date and time is of a higher value than the last date and time the timer ran.
I'm not storing a time related value in a variable either, so it's not something I've coded.
I had the same experience before. Yes I noticed that changing dates will trigger the problem. I noticed that BD will disable one of the timers when in conflict. I managed to enable the disabled timer by converting it as timer on database startup, then convert it again to the desired type when enabled. Then, as much as possible I created one timer only for one type. This could be the reason since all of them are running simultaneously.