IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Utilisation port COM


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    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 !

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    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).
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Merci énormément, cette appli est fort sympathique !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoEvents
    If Err.Number = 0
    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.

  4. #4
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    J'ai cependant, semblerait-il, un petit problème...

    Pourquoi mon gestionnaire d'erreur ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    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 :
    On Error GoTo 0 : L'erreur est neutralisée et le gestionnaire d' erreurs est contourné dans la procédure.
    Y a-t-il des concepts qui m'auraient échappé ?

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    tu peu aussi traiter le numéro d'erreur (voir Err.Number) pour personnaliser ton message...

  6. #6
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Lol Grillé par bbil
    Bonjour bbil

  7. #7
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème utilisation Port COM
    Par zouzou15 dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 18/07/2011, 10h44
  2. [C#] Comment utiliser tous les ports COM ?
    Par Seb.26 dans le forum C#
    Réponses: 2
    Dernier message: 10/01/2006, 16h34
  3. Comment utilise-t-on ReadStr sur le port COM ?
    Par chourmo dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2005, 18h00
  4. Utilisation du port COM
    Par chourmo dans le forum Composants VCL
    Réponses: 10
    Dernier message: 13/06/2005, 11h09
  5. [C#] [Port Com] PB de permission pour utiliser la classe
    Par dacid dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/04/2005, 11h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo