WAIT
WAIT [ _ Delay _ ]
Appelle récursivement la boucle d'événement.
Si _ Delay _ est spécifié, la fonction ne retourne que lorsque _ Delay _ (en secondes) est écoulé.
Si _ Delay _ n'est pas spécifié, la fonction traite chaque événement et retourne immédiatement.
Dans ce cas spécifique, les événements d'entrée (clavier et souris) sont ignorés.
Délai est un nombre flottant. Alors, si vous voulez attendre 100 ms, faites seulement : WAIT 0.1
Exemples
' Attend un peu, laissant l'utilisateur interagir avec l'interface
WAIT 0.1
' Attend, mais laisse seulement l'utilisateur regarder ce qui se passe...
WAIT
Si vous appelez
WAIT
à partir d'une boucle d'événement, vous risquez de créer des récursions infinies, et donc un débordement de pile.
Par exemple, voyez le code suivant :
PUBLIC SUB MySerialPort_Read()
DIM sData, sTemp AS String
DIM iTries AS Integer
FOR iTries = 1 TO 5
' wait a bit and read response.
WAIT 0.01
' see if we got some data.
READ #LAST, sTemp, Lof(LAST)
sData &= sTemp
...
NEXT
END
WAIT
est appelé sans lire quoique ce soit sur le port série. Aussi est-il déjà prêt pour être lu, et l’évènement de lecture est levé récursivement encore et encore, jusqu’à ce que la pile déborde.
Dans ce cas, vous pouvez utiliser à la place l’ instruction
SLEEP.
Voir aussi