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

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    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 !
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    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).
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    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.
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    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é ?
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

  5. #5
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    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 : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    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
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Lol Grillé par bbil
    Bonjour bbil
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Merci à vous 2 pour ces brillantes explications. Effectivement ça marche beaucoup mieux désormais.
    Ingénieur Génie Logiciel et Systèmes d'Information
    Management des Nouvelles Technologies

    Ecole Supérieure d'Ingénieurs de Luminy (ESIL), Marseille

+ 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