>>I didn't do it yet; but I think that the basic approach, to combine timers, would be something like this: have a single Timer that ticks every second or minute, or whatever (depending on the maximum resolution required), and at every "tick" (Timer() Event), checks a cursor or array, which would contain the sort of information you need in a Timer: Interval; next execution; code to execute (method or procedure name).
>>It seems to me that a cursor, indexed on the next execution date-time, has the potential to be the faster alternative, if you need to combine many Timers.
Hmmm...Here's my concern. Let's say timer 1 should fire every 10 seconds and timer 2 every 1 second. If I put these in the same timer control and the code from timer 1 executes and it takes 3 seconds then the code from timer 2 won't fire until timer 1 code is done. Now multiply this by 8 timers. Does that make sense??