Débrancher Port com à chaud

cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016 - 1 avril 2009 à 16:46
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 - 2 avril 2009 à 09:41
bonjour,

Est ce que l'un d'entre vous à une méthode pour gérer la perte d'un port com en cours d'utilisation sous vb?
Actuellement j'ai une appli qui communique en permanence via des port com (issu de convertisseur usb) Comme ils sont en usb ils sont facilement déconnectable et lorsque l'on déconnecte le module usb alors que la com est en route l'appli VB plante enfin plutot freeze sans jamais rendre la main (ceci en compilé autant qu'en IDE)

Je ne sais pas si en jouant sur les options du porte com ou autre je pourrai éviter ceci et récupérer l'erreur...?

Merci

5 réponses

Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
1 avril 2009 à 16:59
Tu as un plantage dans ton soft c'est sa?

Tu as essaye avec un try/catch? (ma question peut être idiote)
0
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016
1 avril 2009 à 17:05
euuh c'est moi l'idiot c'est quoi un try catch?

en fait c'est tous le soft qui plante... quand le port com "plante" ou est débranché ...
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 avril 2009 à 17:26
Salut
"Try/Catch" : c'est la gestion d'erreur sous VB.Net
Toi, tu es sous VB6, ce serait "On Error Goto ..."

Si ton application freeze, c'est qu'elle tourne en boucle dans l'attente de quelque chose qui n'arrive pas.
Si tu n'a pas prévu de DoEvents dans tes boucles, tu ne dois même pas pouvoir interrompre ton programme en mode création.
Donc, première chose, ajouter un DoEvents dans la ou les boucles qui tournent autour de la récupération de données via ton port COM.
Ensuite, quand la déconnexion apparait, il te suffira de mettre le progamme en pause pour savoir dans quelle boucle il tourne.
En fonction des conditions de cette boucle, tu pourras envisager une solution.

Ton port COM est monté sur un port USB : As-tu regardé les sources du site qui parlent de détecter la connexion / déconnexion des ports USB ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_got Messages postés 139 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 15 mars 2016
2 avril 2009 à 08:13
salut,

l'application ne freeze pas sur une boucle mais dès le lancement d'un mscomm.output je vais regarder du coté des connexion / deco usb ...

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
2 avril 2009 à 09:41
A ta place pour éviter ce genre de chose je te conseil se fair un time qui scan en continu le nombre de port com que tu as present dans ta machine

My.Computer.Ports.SerialPortNames.Count il y a sa en VBNET mais je sais pas si c'est la bonne methode
0
Rejoignez-nous