Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
_Tally and timers
Message
From
13/03/2006 08:42:38
 
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01102133
Message ID:
01103695
Views:
15
>>>
>>>>Interrupt handlers fire at indeterminate times.
>>>
>>>Not strictly true. The interrupt may fire at any time, when or whether your handler processes it is up to you (i.e. VFP). Your point about well-behaved interrupt handlers is valid but the question here is simply whether Peter can safely rely on _TALLY immediately following a select. AFAIK a timer message just gets stuck in the windows message queue along with everything else (albeit possibly with a higher priority). The documentation for Autoyield=.F. clearly states :
>>>
>>>"The instance of Visual FoxPro does not process pending Windows events between each line of user program code.
>>>All pending Windows events are placed in a queue, and the events in the queue are processed when DOEVENTS is issued or a wait state occurs. A wait state occurs when Visual FoxPro is waiting for input from the user. The WAIT command does not create a wait state."
>>>
>>>and my test seems to bear this out. Like you I'm prepared to err on the side of caution but unless someone can demonstrate that it *CAN BE* rather than just *MAY BE* a problem I'll categorise it as 'Fear and Superstition'
>>>
>>>Regards,
>>>Viv
>>
>>Viv,
>>
>>I think that a timer may fire between each line of code, provided autoyield is TRUE. (Maybe a timer is set up in such a way that it uses a windows event)
>>
>>I've had the case where a grid refesh used some dynamic* and the dynamic* used functions to return eg the forecolour.
>>
>>The timer interrupted those functions
>
>Greg, I'm quite interested in a piece of code that demonstrates this...

I cannot. Not with a 100%. You can have a go at it if you want, nothing fancy

I remember it very well (vfp6sp5). Sometimes, in the timer event, this was referring to the grid and gave errors on unkown properties

I have put code in to skip a cycle if that was the case (by testing this.Class = 'thetimerclass')

Well, as I said, I cannot reproduce it. It happened very rarely and then on some computers only

So, you'll have to take my word for it or live with the risk
Gregory
Previous
Reply
Map
View

Click here to load this message in the networking platform