Spoolega
Messages postés65Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention27 février 2011
-
3 mars 2007 à 13:00
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
3 mars 2007 à 15:13
Bonjour,
Je réalise un programme de transmission de fichiers via le port série, tout ca marche bien, pas de problème à ce niveau et j'utilise VB 6.0
Mais je voudrais pouvoir stopper le transfert à tout moment, genre un bouton "annuler" qui mettrait fin au transfert en cours, mais je ne sais pas trop comment faire vue que pour transmettre un fichier, je suis dans une boucle:
TANT QUE je ne suis pas a la fin du fichier
transmettre ...
FIN TANT
J'ai essayé de mettre dans cette boucle un Command1.Refresh pour avoir "accès à chaque passage dans la boucle, mais cela ne semble pas fonctionner
En gros, j'aimerais savoir comment intercepter un évenement sur un bouton alors que je suis en train de "mouliner" dans une boucle !
Si quelqu'un à une idée, ou même une solution, je le remercie d'avance !
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 3 mars 2007 à 13:37
A moins d'utiliser du multi-thread, ton programme ne peut executer qu'une commande à la fois.
Donc tant que tu es dans ta boucle, rien d'autre ne peut s'executer. C'est pourquoi les clic sur le bouton sont "stockés" quelque part, puis lorsque la boucle (et meme la fonction qui contient la boucle) est terminée, les evenements "Click" vont etre déclenchés.
Pour pouvoir palier à ça, il faut utiliser DoEvents dans ta boucle, qui va permettre de faire "une pause" dans l'execution de ta boucle pour executer d'autres codes. ça va ralentir ta boucle un peu mais bon.
StopAction = False
TANT QUE je ne suis pas a la fin du fichier OU StopAction = True
transmettre ...
doevents
FIN TANT
Et dans l'evenement click du bouton :
StopAction=True
Ne pas oublier de déclarer StopAction as Boolean dans la form :
Dim StopAction as Boolean
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 3 mars 2007 à 14:10
Je ne suis pas certain d'être bien réveillé, mais ne serait-ce pas plutôt
TANT QUE je ne suis pas a la fin du fichier ET StopAction = False transmettre ....