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 :

Problème de passage d'un tableau de caractère vers un DLL en C


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Problème de passage d'un tableau de caractère vers un DLL en C
    Bonjour,

    Je dois utiliser un DLL écrite en C dans un programme VB6. Un des parametres que je dois passer à la structure suivante en C.
    ----------------------
    struct SToken
    {
    char sToken[33];
    char sResponseToken[33];
    };
    ---------------------
    Sous VB je l'ai déclaré de la manière suivante
    ----------------------
    Public Type SToken
    SToken As String
    sResponseToken As String
    End Type
    ----------------------

    Le problème est que si je mes la value "test" sous VB dans la variable SToken.SToken, du coté C j'obtiens autre chose.
    J'imagine que cela est du au fait que du coté C la variable est un tableau de char et du coté VB la variable est une string
    Pouvez-vous me dire comment puis-je résoudre ce problème et passer correctement la structure Stoken à la DLL?

    Merci d'avance pour votre aide.

    Alain.

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    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 091
    Points : 16 614
    Points
    16 614
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Type SToken
        SToken As String * 33
        sResponseToken As String * 33
    End Type
    Dim Test As SToken
     
    Private Sub Form_Load()
    Test.sResponseToken = "essais"
    Test.SToken = "une autre valeur"
    End Sub
    Les variables Test.sResponseToken et Test.SToken seront de longueur fixe, Test.sResponseToken = "essais" devient "essais" suivit de 27 espaces, comme pour
    Test.SToken = "une autre valeur" devient "une autre valeur" suivit de 15 espaces.
    Motif de l'edit
    Precision, Test.SToken = "une autre valeur mais que se passe t'il si on depasse les bornes?", dans ce cas VB tronque au nombre de caractéres declarés, Test.SToken contiendrat "une autre valeur mais que se pass"

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Merci, cela à fonctionné

    Alain

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/11/2014, 12h55
  2. Réponses: 0
    Dernier message: 15/06/2010, 10h58
  3. Réponses: 2
    Dernier message: 26/06/2007, 17h46
  4. Réponses: 3
    Dernier message: 14/04/2007, 16h06
  5. Réponses: 1
    Dernier message: 28/02/2006, 17h58

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