>>I got to the practice of storing _tally into a variable or property immediately after the statement which did what I need to _tally for. Few lines later it may be wrong, for whichever reason - and timers aren't the only thing. It may be a slightly complicated SKIPFOR expression, or a grid refresh or who knows what code. Also, I've noticed that in VFP9 _tally behaves differently in some situations than it behaved in all previous versions. Can't remember what it was - it's been a dozen years - but there WAS something which made me rely on it less and less.
>
>But a timer could fire even between the statement that sets _TALLY and the one that stores it. That was an issue in the application I was working on where the timer fired often.
True, and while I could never pinpoint the cause to exactly that, I did resolve the issues by
- not relying on _tally anymore (just checked - there are lots of mentions of _tally in code before 2008 but none after, most of it in two apps where there were no timers at all)
- leaving the environment which relied heavily on timers (I'd rather do those things by bound events - i.e. refresh the toolbars etc, but I was not the architect there)
That being said, I do have one app (my FES, fox screen savior) which runs on a timer, but that's at at least four seconds interval and even there I'm not using _tally at all.