Salut à tous !
Alors voilà je suis depuis quelques temps sur un problème qui m'empêche d'avancer : j'ai fabriqué un scanner de cartes sans contact Arduino, avec un logiciel en C# capable de récupérer le numéro de badge scanné. J'utilise pour cela l'évenement dataReceived du contrôle utilisateur SerialPort (avec un delegate et un invoke pour afficher le numéro de badge dans un label à l'écran). Le soucis est le suivant : Je n'ai aucun problème du moment que j'ouvre le port et que je le ferme, SANS scanner de badge. Mais à partir du moment où je tente de scanner un badge et de fermer le port à la fermeture du soft, ce dernier plante littéralement...
En faisant mon petit tour sur la MSDN, j'ai vu que l’événement dataReceived est executé sur un thread en parallèle...et moi je ferme le port depuis le thread principal (donc je pense que le plantage est dû à ça).
Je pensais à stopper l'événement dataReceived du SerialPort (pour ensuite fermer proprement le port), mais je ne sais pas comment y parvenir. Sinon il y a t-il une meilleure solution ?
Merci d'avance
PS : J'ai vu que d'autres topics avaient étés créés à ce sujet (sur d'autres forums) mais je n'ai pas trouvé de réponse explicite.
Partager