jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
13 mai 2008 à 16:31
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 2016
-
14 mai 2008 à 11:30
Private Function Start()
Do
'Ecriture du mot de commande
Call Ecriture_ModBus(Bilan, MbuPortComm, 8501, 1, ValW())
DoEvents
Loop While Bilan <> ""
End Function
Ma question est la suivante, lorsque la fonction 'Start' s'execute par le 'CmdStart_Click()', est ce que le DoEvents (ici en rouge) peut autoriser le déroulement de ce qui suit l'appel de la fonction (en vert ) dans le 'CmdStart_Click()'?
En espérant avoir été assez clair, merci de votre aide.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 13 mai 2008 à 16:36
Extrait MSDN
Arrête momentanément l'exécution afin que le système d'exploitation puisse
traiter d'autres événements.
Syntaxe
DoEvents()
Remarques
La fonction DoEvents renvoie une valeur de type
<object id= "alink_4" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_4.Click() Integer] représentant le nombre de feuilles
ouvertes dans les versions autonomes de Visual Basic (Visual Basic Édition
professionnelle, par exemple). DoEvents renvoie un zéro dans toutes les
autres applications.
DoEvents passe la main au système d'exploitation jusqu'à ce que ce
dernier ait terminé de traiter les événements de sa file d'attente et que tous
les codes de la file d'attente SendKeys aient été transmis.
La fonction DoEvents est particulièrement indiquée pour les opérations
simples que l'utilisateur veut annuler juste après les avoir lancées, comme par
exemple la recherche d'un fichier. Pour les opérations nécessitant une exécution
plus longue, l'opérateur pourra plus aisément rendre la main au processeur s'il
a recours à un contrôle Timer ou à un composant EXE ActiveX. Dans ce cas, la
tâche s'effectue de manière complètement indépendante, hors de votre
application, le système d'exploitation gérant à la fois le multitâche et le
partage du temps.
Attention Lorsque vous rendez la main de manière
temporaire à votre processeur dans une procédure d'événement, veillez à ce que
la
<object id ="alink_5" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></object>[javascript:alink_5.Click() procédure] ne soit pas exécutée à nouveau
par une autre portion de votre programme, avant que le résultat du premier appel
ne soit renvoyé ; cette situation peut avoir des conséquences inattendues. En
outre, n'utilisez pas DoEvents s'il existe un risque d'interaction
imprévisible entre d'autres applications et votre procédure pendant que
l'exécution est suspendue.
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 13 mai 2008 à 16:47
Merci Julien,
la suite en Vert s'executera QUAND et uniquement QUAND la fonction Start sera terminée. et heureusement j'ai envie de dire...
J'avais bien lu le MSDN, mais je ne savais pas si la "Suite" ne faisait pas partie de la file d'attente en l'occurence, j'ai donc préféré demander l'avis à la communauté VB.
jimy neutron
Messages postés491Date d'inscriptionmercredi 1 février 2006StatutMembreDernière intervention18 novembre 20161 14 mai 2008 à 11:30
Merci Renfield,
Connaitrais-tu un lien ou autre sur de la documentation concernant le principe de fonctionnement du processeur (genre 'Processeur PC pour les nuls...), je touche à la prog depuis un moment maintenant, mais j'ai de véritables carrances à ce sujet.