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 :

[DLL C --> VB] tableau de Byte


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Points : 95
    Points
    95
    Par défaut [DLL C --> VB] tableau de Byte
    Bonjour,

    Je dois interfacer le monnayeur RM5 de Comestero via son interface port COM, à l'aide des 3 DLLs fournies.
    Je rencontre un problème avec 2 fonctions qui prennent en paramètre un tableau de Byte.
    ====================================
    Déclaration des fonctions dans la DLL "RM5.DLL"
    ====================================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function Get_enable_word_Ex(Var HCom : Integer;Port as Byte; Offset as Byte;Echo as boolean; Var Abilitation as Array[0..7]Of Byte ):Boolean; StdCall
     
    Function Set_enable_word_Ex(Var HCom : Integer;Port as Byte; Offset as Byte;Echo as boolean; Var Abilitazione as Array[0..7]Of Byte ):Boolean; StdCall
    ================================
    Déclaration des fonctions dans le code VB
    ================================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Declare Function Set_enable_word_Ex Lib "rm5.dll" (Hcom As Long, Port As Byte, Offset As Byte, Echo As Boolean, Abilitation() As Byte) As Boolean
     
    Private Declare Function Get_enable_word_Ex Lib "rm5.dll" (Hcom As Long, Port As Byte, Offset As Byte, Echo As Boolean, Abilitazione() As Byte) As Boolean
    ================================
    Appel des fonctions dans VB
    ================================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'création du tableau de Byte de 0 à 7
    Dim tablo(0 to 7) As Byte 
    '
    MsgBox(Get_enable_word_Ex(HandleCom, PortCom, OffsetCom, EchoCom, tablo()))
    Là le code me renvoie toujours false.
    Les déclarations sont elles exactes ?
    J'ai bien passé le tableau de Byte ?

    Merci pour toute aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    il est remplit ton tableau ?

    Après peut-être que les DLL ont un bug, on peut pas savoir :/

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2003
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 91
    Points : 95
    Points
    95
    Par défaut
    La fonction appellée va remplir le tableau.
    J'ai quand même essayé de l'initialiser comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim i as integer
    '
    For i = 0 to 7
        tablo(i) = CByte(0)
    Next
    Un Byte en VB c bien un octet ??

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    hum je ne crois pas, ça peut être n'importe quoi mais en "binaire".

    Par exemple un champ BLOB d'une base de données, tu (peux) l'extrait et le stock sous la forme de byte.

    Les autres peuvent me corriger ..

  5. #5
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 103
    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 103
    Points : 16 621
    Points
    16 621
    Par défaut
    Des fois sa dépanne,
    provisoirement je declare une variable en variant, je met un espion dessus, un point d'arret pour sa premiere initialisation, l'espion permet de verifier le type renvoyé, je n'ai plus qu'à corriger de variant à type renvoyé.
    Donc a essayer Dim tablo() as variant, puis Dim tablo() as (type renvoyé par l'espion)

  6. #6
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Sais tu dans quel(s) cas ces fonctions sont sensées renvoyer True ?

Discussions similaires

  1. [Socket][File] Envoyer un tableau de byte
    Par itsmii dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 30/01/2014, 09h10
  2. Tableau de byte en retour de DLL
    Par ledaziarn dans le forum C++/CLI
    Réponses: 2
    Dernier message: 20/02/2008, 18h06
  3. probleme d allocation avec un tableau de BYTE
    Par e1lauren dans le forum C++
    Réponses: 5
    Dernier message: 06/05/2005, 13h42
  4. [VB.NET] Tableau de bytes Lecture/Ecriture
    Par BenoitM dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/04/2005, 09h51
  5. [C#] Convertir un tableau de byte en Image
    Par goulhasch dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/01/2005, 10h12

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