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

  1. #1
    Membre du Club Avatar de Superzest 76
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2018
    Messages : 40
    Points : 66
    Points
    66

    Par défaut Envoi d'une requête sur un port Comm

    Bonjour,
    Alors lors de mon projet je doit envoyer une requête a un pont bascule branché a mon pc sur le port Comm2 afin qu'il me retourne un poids . j'ai trouver un code sur un ancien post lien ici : https://www.developpez.net/forums/d5...uete-port-usb/

    Mais mon prgrame me retourne l'erreur suivante : Visualisation: Erreur Runtime => screen/1 page aceuil.scc : ID Objet = 5 : Objet requis: 'MSComm2' (-2146827864).
    Voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    '------ Requette pont bascule 
     
    ' Réservation des variables locales
        Dim varOctet ,MSComm2
        Dim lngPtOctet
        ' Traite chaque événement ou erreur
        Select Case MSComm2.CommEvent
     
            ' Événements
            Case comEvCD            ' Modification dans la ligne détection de porteuse
            Case comEvCTS           ' Modification dans la ligne prêt à émettre
            Case comEvDSR           ' Modification dans la ligne Modem prêt
            Case comEvRing          ' Modification dans l'indicateur d'appel
     
            Case comEvReceive        ' Nombre de caractères indiqué par la propriété RThreshold reçus
     
                    While (MSComm2.InBufferCount <> 0)
                        varOctet = MSComm2.Input
                        For lngPtOctet = 0 To LenB(varOctet) - 1
                            If (lngLongRXD < UBound(bytTrameRXD)) Then
                                bytTrameRXD(lngLongRXD) = CByte(varOctet(lngPtOctet))
                                lngLongRXD = lngLongRXD + 1
                            Else
                                strBilanComm = strLsrErrRXDBuf
                                lngCptErrRXDBuf = lngCptErrRXDBuf + 1
                            End If
                        Next
                    Wend
     
     
            Case comEvSend          ' Nombre de caractères indiqué par la propriété SThreshold dans le tampon de transmission.
            Case comEvEOF           ' Caractère de fin de fichier trouvé dans le flux en entrée
     
            ' Erreurs
            Case comEventBreak      ' Un signal d'arrêt a été reçu.
            Case comEventCDTO       ' Erreur de délai d'attente détection de porteuse.
            Case comEventCTSTO      ' Erreur de délai d'attente prêt à émettre.
            Case comEventDSRTO      ' Erreur de délai d'attente Modem prêt.
            Case comEventFrame      ' Erreur de trame
            Case comEventOverrun    ' Données perdues.
            Case comEventRxOver     ' Dépassement de la capacité du tampon de réception.
            Case comEventRxParity   ' Erreur de parité.
            Case comEventTxFull     ' Tampon de transmission plein.
            Case comEventDCB        ' Erreur inattendue lors de l'extraction du bloc de contrôle de périphérique]
     
            Case Else
                ' Événement ou erreur non géré(e) !!!
    End Select
        If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
        MSComm2.CommPort = 1
        MSComm2.Settings = "19200,E,8,1"
        MSComm2.PortOpen = True
        MSComm2.InputLen = 1
        ' Raz du buffer d'entrée de la liaison série
        varOctet = MSComm2.Input
        'envoi de la Requête distributeur n°1
        A = "01 09 30 31 10 39 39 4D 35 34 0D 0A"
        For i = 1 To Len(A) - 1 Step 3
            MSComm2.Output = Chr(Val("&H" + Mid(A, i, 2)))
        Next
        DoEvents
        'If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
        Unload Me
        'Si Requête = distributeur 1
            If A = "01 09 30 31 10 39 39 4D 35 34 0D 0A" Then
        'envoi de la Requête par défaut
        A = "01 10 00 10 00 01 02 00 00 A4 C0"
        For i = 1 To Len(A) - 1 Step 3
            MSComm2.Output = Chr(Val("&H" + Mid(A, i, 2)))
        Next
        DoEvents
        'If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
        Unload Me
        End If
    Auriez vous une solution a me conseiller ?
    Merci d’avance
    “Cookie : Anciennement petit gâteau sucré, qu’on acceptait avec plaisir. Aujourd’hui : petit fichier informatique drôlement salé, qu’il faut refuser avec véhémence.”

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 629
    Points : 10 194
    Points
    10 194

    Par défaut

    Salut

    Il te manque la création de l'objet MSComm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim varOctet ,MSComm2
        Dim lngPtOctet
        Set MSComm2 = CreateObject("MSCOMMLib.MSComm")
    ProgElecT
    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.
    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.

  3. #3
    Membre du Club Avatar de Superzest 76
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2018
    Messages : 40
    Points : 66
    Points
    66

    Par défaut

    Bonjour merci pour t'on aide.
    Ça ne marche pas et voila l'erreur que ça me renvois


    Visualisation: Erreur Runtime => screen/1 page aceuil.scc : Écran Script : Ligne 27 : Un composant ActiveX ne peut pas créer un objet: 'MSCOMMLib.MSComm' (-2146827859).
    “Cookie : Anciennement petit gâteau sucré, qu’on acceptait avec plaisir. Aujourd’hui : petit fichier informatique drôlement salé, qu’il faut refuser avec véhémence.”

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 629
    Points : 10 194
    Points
    10 194

    Par défaut

    Re

    MSCOMMLib fait partie de Contrôles communs Microsoft Visual Basic 6.0 le composant/contrôle est comctl32.ocx.
    Donc soit il n'est pas registré, soit tu ne l'as pas sur ton système.
    Tu peux télécharger le composant ICI
    ProgElecT
    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.
    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.

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    juillet 2009
    Messages
    2 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : juillet 2009
    Messages : 2 109
    Points : 4 888
    Points
    4 888

    Par défaut

    A lire ton code, je dirais que la question devrait être posée dans le forum VB6
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA)
    Vous pouvez consulter mes contributions
    Consultez les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr ICI

  6. #6
    Membre du Club Avatar de Superzest 76
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2018
    Messages : 40
    Points : 66
    Points
    66

    Par défaut re

    Merci pour ta réponse même après l’installation l'erreur reste la meme
    “Cookie : Anciennement petit gâteau sucré, qu’on acceptait avec plaisir. Aujourd’hui : petit fichier informatique drôlement salé, qu’il faut refuser avec véhémence.”

  7. #7
    Membre du Club Avatar de Superzest 76
    Homme Profil pro
    Étudiant
    Inscrit en
    septembre 2018
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : septembre 2018
    Messages : 40
    Points : 66
    Points
    66

    Par défaut [solution]

    Je suis passer en batch pour se petit bout de programme voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    echo 01 09 30 31 10 39 39 4d 35 34 0d 0a>on.txt
    certutil -decodehex on.txt on.bin
    mode COM2 BAUD=9600 PARITY=n DATA=8
    copy on.bin \\.\com2 /b
    copy com2 data.txt
    “Cookie : Anciennement petit gâteau sucré, qu’on acceptait avec plaisir. Aujourd’hui : petit fichier informatique drôlement salé, qu’il faut refuser avec véhémence.”

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

Discussions similaires

  1. Envoi d'une commande sur port série
    Par -Willis- dans le forum C
    Réponses: 12
    Dernier message: 09/06/2017, 10h46
  2. Réponses: 8
    Dernier message: 04/03/2015, 20h45
  3. envoie d'une requête sur les pages jaunes
    Par Chris33 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 03/11/2010, 17h06
  4. [AC-2002] Envoi d'une requête sur une page web
    Par pier.antoine dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/09/2009, 15h45
  5. [réseau] capter une requête sur un port spécifique
    Par ebaynaud dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2006, 14h26

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