Information générale
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Hi,
I tried it on VFP 7SP1 and 9 SP1, with same results in both versions. In my tests, the timer "fires" only when WAIT ... TIMEOUT clause is included, regardless of the AutoYield setting. Including NOWAIT produces the same results as your original test.
My suspicion is that the TIMEOUT clause does create a wait state, and the problem is in the docs.
Sorin
>
>The interesting thing here is that the counter increments even with Autoyield = .F. (and, FWIW, removing the 'TIMEOUT .001' clause or using NOWAIT give the same results)
>
>From the Autoyield documentation for AutoYield=.F.:
>"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."
>
>The logical conclusion from this statement is that either the last sentence is untrue or that the event is NOT a windows event.
>
>BUT there's no mention of Autoyield affecting anything *other* then windows event processing and it DOES affect the behaviour of the Timer.
>
>And how about "Queries cannot be interrupted" - the WAIT command is part of the query! :-|
>
>IAC you've provided an example of an undocumented risk.
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement