jcfloyd
Messages postés1Date d'inscriptionmercredi 10 mai 2006StatutMembreDernière intervention24 mai 2006
-
24 mai 2006 à 17:56
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
24 mai 2006 à 18:19
j'ai realiser un reseau de train automatique. J ai fait une interface sous VB permettant de voir les deplacements des trains. Mais tant que l on est dans la boucle de déplacement, VB ne prend pas en compte les actions que je peux faire (bouton d arret d urgence par exemple)! Comment faire ??? est on obligé de faire un choix entre le déplacement des train et les commandes annexes ??? Merci d avance !
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 24 mai 2006 à 18:00
Un grand classique du genre !!
il faut que tu places une instruction DoEvents quelque part dans ta (ou tes) boucles. Elle oblige VB6 à laisser Windows traiter les autres messages (click souris, frappe clavier, etc ...) et cela sera OK normalement.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 mai 2006 à 18:19
Ah les joies du développement d'une supervision dans un environnement monoprocess (ici VB6). Rien de tel pour se prendre la tête.
Dans ce cas il faut obligatoirement prevoir dans ton automate de gestion (ici ta boucle de déplacement) des endroits où tu dois rendre la main à l'interface de commande (ici l'interface graphique de ton logiciel, tes boutons).
En VB6, c'est fait avec un DoEvents que tu place avant chaque code succeptible d'être influencé par une modification des commandes. Souvent il faut prévoir aussi un système de synchronisation dans ta boucle, au retour du DoEvents, pour modifier le traitement en cours et tenir compte de ta nouvelle commande.
Du style :
......
DoEvents
' Retour du DoEvents
Si j'ai telle commande
je traite la commande
Sinon
je continue le traitement normal
.......