Programme qui se fige sur une boucle While ==> comment éviter cela [Résolu]

Messages postés
20
Date d'inscription
jeudi 31 janvier 2002
Dernière intervention
11 février 2013
- - Dernière réponse : cs_guda
Messages postés
20
Date d'inscription
jeudi 31 janvier 2002
Dernière intervention
11 février 2013
- 24 mai 2010 à 15:46
Bonjour,

j'ai réalisé une appli qui récupère les données d'une interface USB pour les traiter.

En gros je fait une boucle While qui check le buffer de l'interface USB.

Quand j'étais un mode application Console cela fonctionnait bien.

Maintenant que je suis en mode Application Windows Form, ma boucle While fige mon appli (ce qui est normal d'ailleurs). Plus aucun bouton ne répond.


Comment éviter cela ?

Merci pour votre aide
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Dernière intervention
20 novembre 2013
3
Merci
Salut,

si tu utilise bien du vb.net, utlise les "thread" au lieu d'une boucle while

une explication ici : http://msdn.microsoft.com/en-us/library/3e8s7xdd(vs.71).aspx

si tu sais pas faire autrement que de faire du pas recommandé:

System.Windows.Forms.Application.DoEvents


A+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
Messages postés
20
Date d'inscription
jeudi 31 janvier 2002
Dernière intervention
11 février 2013
3
Merci
Merci. Ca à l'air complexe avec le thread. Je vais regarder tes deux solutions

A+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de cs_guda
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
3
Merci
Autres soluce :

- Simplement avec un timer si tu as une interface (pas la meilleur soluce si tu veux mon avis)

- Le backgroundWorker gère pour toi le multithreading, attention au appels inter-thread avec les compo winforms.

Bien entendu le top reste de créer une classe dont la fonction d'écoute torunerais dans un autre thread et déclancherai un événement lors d'un changement dans le tampon.

++ Mayzz

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de Mayzz
Messages postés
20
Date d'inscription
jeudi 31 janvier 2002
Dernière intervention
11 février 2013
0
Merci
Merci beaucoup, tu m'as fait découvrir le backgroundWorker. Cela répond idéalement à mon besoin.

Pour ceux que cela interesse, j'ai trouvé deux tutoriels en français :

http://glarde.developpez.com/dotnet/bgworker/vb/

http://cyrilhome.over-blog.net/article-13916520.html
Commenter la réponse de cs_guda

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.