Téléchargé 9 fois
Vote des utilisateurs
0
0
Détails
Licence : Non renseignée
Mise en ligne le 14 novembre 2010
Langue : Français
Référencé dans
Navigation
Utilitaire pour pilotage du port série
Utilitaire pour pilotage du port série
Un exemple d'utilisation du contrôle MSCOMM.
Hello,
Je développe une petite appli en VB6 dans laquelle je veux dialoguer avec une carte électronique par le biais du port RS232.
Je cherche à lancer l'appli avec un port par défaut (COM1) et laisser la possibilité à l'utilisateur de paramétrer l'appli en choisissant justement le port à utiliser dans une fenêtre de config adéquate.
Mon PC ne connait que les ports COM3 et COM13 (émulation USB) et me génère donc une erreur à l'exécution : "Numéro de port invalide", en cherchant le port par défaut càd le port COM1.
Y a t-il un moyen justement pour ignorer cette erreur tant que l'utilisateur n'a pas choisi un port valide ?
Merci d'avance !
Je développe une petite appli en VB6 dans laquelle je veux dialoguer avec une carte électronique par le biais du port RS232.
Je cherche à lancer l'appli avec un port par défaut (COM1) et laisser la possibilité à l'utilisateur de paramétrer l'appli en choisissant justement le port à utiliser dans une fenêtre de config adéquate.
Mon PC ne connait que les ports COM3 et COM13 (émulation USB) et me génère donc une erreur à l'exécution : "Numéro de port invalide", en cherchant le port par défaut càd le port COM1.
Y a t-il un moyen justement pour ignorer cette erreur tant que l'utilisateur n'a pas choisi un port valide ?
Merci d'avance !
N'ayant jamais eu de problème avec ce petit utilitaire, s’il fonctionne correctement pour vous,
il vous suffirait de rechercher la différence de gestion par apport a votre programme.
PilotPortCom.zip (44.6Ko)
Motif de l'edit
Nouvelle version, posibilité de teste en emission et reception, plus des petites améliorations (traitement d'erreur avec informations).
il vous suffirait de rechercher la différence de gestion par apport a votre programme.
PilotPortCom.zip (44.6Ko)
Motif de l'edit
Nouvelle version, posibilité de teste en emission et reception, plus des petites améliorations (traitement d'erreur avec informations).
Merci énormément, cette appli est fort sympathique !
C'est ce qu'il me fallait... : pouvoir récupérer l'erreur. Je vois que c'est assez simple
Merci encore, et bonne nuit.
Code : | Sélectionner tout |
On Error resume Next
Code : | Sélectionner tout |
1 2 | DoEvents If Err.Number = 0 |
Merci encore, et bonne nuit.
J'ai cependant, semblerait-il, un petit problème...
Pourquoi mon gestionnaire d'erreur ne fonctionne pas ?
L'appli me plante toujours sur l'ouverture du port (erreur 8002 : numéro de port non valide).
Or, je viens de lire dans un tuto :
Y a-t-il des concepts qui m'auraient échappé ?
Pourquoi mon gestionnaire d'erreur ne fonctionne pas ?
Code : | Sélectionner tout |
1 2 3 4 | ' Connexion port série On Error GoTo 0 MSComm1.CommPort = PortCom ' Port paramétré MSComm1.PortOpen = True: DoEvents ' Ouverture du port |
Or, je viens de lire dans un tuto :
On Error GoTo 0 : L'erreur est neutralisée et le gestionnaire d' erreurs est contourné dans la procédure.
tiens peu être que l'explication est plus clair dans l'aide en ligne :
On Error GoTo 0 Invalide dans la procédure en cours tout gestionnaire d'erreurs validé.
en fait On Erro Goto 0 , te permet de mettre fin à la gestion d'erreur précédemment activé par un
ou un
je ne sais pas comment est organisé ton code mais tu pourrai faire un truc du genre :
tu peu aussi traiter le numéro d'erreur (voir Err.Number) pour personnaliser ton message...
On Error GoTo 0 Invalide dans la procédure en cours tout gestionnaire d'erreurs validé.
Code : | Sélectionner tout |
On Error goto line
Code : | Sélectionner tout |
On Error resume next
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | Sub MaSub On Error Goto ErrPort MSComm1.CommPort = PortCom ' Port paramétré MSComm1.PortOpen = True: DoEvents ' Ouverture du port On Error Goto 0 'Fin gestion d'erreur ... ... le reste de ton code.. faut voir..? Exit sub 'Pour ne pas passer dans le code gestion d'erreur ErrPort: MsgBox "Ouverture port impossible.." end sub |
Oui, le on error goto 0 signifie qu'ilfaut arreter de pieger les erreurs.
Pour pieger les erreurs tu fais plutot un on error goto Etiquette ou on error resume next:
Pour pieger les erreurs tu fais plutot un on error goto Etiquette ou on error resume next:
Code : | Sélectionner tout |
1 2 3 4 | On error Resume next x=x/0 'ca normalement ca genere une erreur, vb ne sachant pas diviser par zero on error goto 0 |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | On error Goto ErreurDivision x=x/0 On error goto 0 exit sub ErreurDivision: Msgbox "Erreur N° " & err.number & vbCrLf & err.description Resume Next 'reprendre l'execution a la ligne suivant ' Resume 'le Resume seul demande de ré-excécuter la ligne en erreur |
Merci à vous 2 pour ces brillantes explications. Effectivement ça marche beaucoup mieux désormais.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.