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 :

vérification liaison RS232 avec VB6 avec appel au fonction .dll


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut vérification liaison RS232 avec VB6 avec appel au fonction .dll
    Bonjour
    j'ai un fichier .dll qui contient plusieurs fonctions y compris la fonction qui assure la communication série RS232. j'ai fait l'appel et la déclaration de la fonction en question et j'ai essayé de vérifier la bonne communication entre 2 port RS232 via le VSPE mais toujours sans réponse j'arrive pas à vérifier la liaison comme en C. vraiment je n'est pas trouvé une solution est ce que je dois faire une configuration de plus avec mon code qui appel la fonction .dll responsable de la liaison ou quoi je me trouve bloquée depuis 2 semaines et tout les recherches sur net ne me donne pas des réponses à mes questions.

    voila mon code VB avec le quel je veux vérifier la liaison entre 2 ports. suite à l'exécution de ce code je n'ai pas des message d'erreur


    [code=vb]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Declare Function Com Lib "vc_vb.Dll" (ByVal iPort As Integer, ByVal iBaud As Integer, ByVal iBits As Integer, ByVal iStop As Integer, ByVal iParity As Integer, ByVal iTimeout As Integer) As Long 
     
    Private Sub Command2_Click() 
    x = Com(1, 9600, 8, 1, 0, 20) 
    End Sub 
     
    Private Sub Command9_Click() 
    x = Com(2, 9600, 8, 1, 0, 20) 
    End Sub

    Merci de me rendre service et m'aider

  2. #2
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Tu as un composant MScom qui fait le travail tout seul ....
    http://grafikm.developpez.com/portcomm/

  3. #3
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut
    Merci DAUDET78 pour ta réponse, en faite l'utilisation de ce fichier dll pour la vérification de la communication serie est imposé dans le cahier de charge du projet. donc l'utilisation directe du composant MSComm n'est pas 100% faisable dans ce cas je pense puisque il s'agit d'une structure prédéfinie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Private Sub Form_Load()
    Form1.Caption = "App1"
    With MSComm1 'configuration du port
    .CommPort = 1 'On utilise le port COM1:
    .Handshaking = 2 'RTS
    .RThreshold = 1
    .RTSEnable = True 'mieux pour le port COM:
    .Settings = "9600,n,8,1"
    .SThreshold = 1
    .PortOpen = True 'ouverture du port
    End With
    à propos le code de l'application 1 me donne comme message :"erreur de compilation : methode ou membre des données introuvable"

    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
    Option Explicit
    Private Sub Form_Load()
    Form1.Caption = "App1"
    With MSComm1 'configuration du port
    .CommPort = 1 'On utilise le port COM1:
    .Handshaking = 2 'RTS
    .RThreshold = 1
    .RTSEnable = True 'mieux pour le port COM:
    .Settings = "9600,n,8,1"
    .SThreshold = 1
    .PortOpen = True 'ouverture du port
    End With
     
    Command1.Caption = "&Send"
    Text1.Text = "Ces données ont été envoyés via le port COM"
    End Sub
     
    Private Sub Command1_Click()
    MSComm1.Output = Text1.Text
    End Sub
     
    Private Sub Form_Unload(Cancel As Integer)
    MSComm1.PortOpen = False 'on ferme le port à la fermeture de l'appli
    End Sub
    Mercii

  4. #4
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Citation Envoyé par tatawissa Voir le message
    donc l'utilisation directe du composant MSComm n'est pas 100% faisable dans ce cas je pense puisque il s'agit d'une structure prédéfinie
    Il y a dans VB6 un composant qui marche ,pourquoi ne pas l'utiliser?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .Handshaking = 2 'RTS
    .RThreshold = 1
    .RTSEnable = True 'mieux pour le port COM:
    .SThreshold = 1
    Ces commandes sont nuisibles si tu veux faire une liaison sans contrôle de débit (liaison 3 fils en Null Modem)
    à propos le code de l'application 1 me donne comme message :"erreur de compilation : methode ou membre des données introuvable"
    sur quelle ligne ?

  5. #5
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut
    l'erreur de compilation au niveau de la ligne 5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .CommPort = 1 'On utilise le port COM1:

  6. #6
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    une erreur sur le nom du composant ? c'est bien MSComm1 ?

  7. #7
    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
    Salut

    Il n'est pas sûr que ton périphérique soit sur le port 1, de plus ce port est éventuellement utilisé par un autre périphérique.
    Pour lever le doute, dans mes contributions, Utilitaire pour pilotage du port série, le source contenu dans le ZIP te permettra de faire des expériences pour finaliser l'utilisation de ta propre Dll.
    :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 ← ← 👈

Discussions similaires

  1. [Débutant] Appeler une fonction DLL C# depuis le C++ par API LOADLIBRARY
    Par yann458 dans le forum C#
    Réponses: 3
    Dernier message: 07/05/2013, 23h49
  2. pilotage vb6 avec vb6
    Par modjo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 03/04/2009, 16h30
  3. Appel de Fonctions DLL
    Par mindover280 dans le forum VB.NET
    Réponses: 5
    Dernier message: 26/05/2008, 22h34
  4. [Débutant] Détourner un appel de fonction DLL dynamique
    Par let_me_in dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 28/05/2007, 23h02
  5. faire liaison Zone texte en VB6 avec cellule Excel
    Par brahime dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/05/2006, 21h25

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