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 :

Passage de valeurs entre dll en C++ vers visual basic


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Passage de valeurs entre dll en C++ vers visual basic
    Bonjour

    je suis en train de développer des dll sur C++ avec Visual C++, le but c'est de les faire communiquer avec un code en Visual Basic. D'abord, j'envoie des valeurs depuis VB, les dll effectuent des calculs, ensuite grâce à vb6 j'essaie de récupérer les valeurs sortantes des dll. Pour l'instant mon code fonctionne bien quand j'essaie de récupérer un seul flottant des dll, mais moi je voudrais récupérer trois valeurs en même temps. J'ai essayé plusieurs trucs que j'ai trouvé ds ce tuto : http://rp.developpez.com/vb/tutoriels/dll/ . mais il n'y a pas une réponse pour ce que je veux faire.
    j'ai essayé de faire que la dll renvoie un tableau ou un string mais c'est Visual basic qui râle dans ces cas.
    voici mon code

    j'ai enlevé une partie du code de calcul parceque c gros et ça n'est pas utile de le montrer

    Code c++ : 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
     
    #include "Mod_dyn.h"
    #include "math.h"
    #include "stdio.h"
    #include "string.h"
     
    float  __stdcall Modele_dynamique
        (float FgaucheX,float FgaucheY,float FdroiteX,float FdroiteY,float Gd,float K1,float K2,float K3,float Position1,float Position2,float Position3)
    {
     
    phie_point = K3*(FgaucheX+FgaucheY)*rayon;
    X_point_s_a = sin(FdroiteX)+cos(FdroiteX);
    Y_point_s_a =  -cos(FdroiteX)+sin(FdroiteX);
     //ici je voudrais retourner : phie_point, X_point_s_a et Y_point_s_a 
      return X_point_s_a;
    }


    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Declare Function Modele_dynamique _
          Lib "[Path]" _
                         (ByVal FgaucheX As Single, ByVal FgaucheY As Single, ByVal FdroiteX As Single , ByVal FdroiteY As Single, ByVal Gd As Single, ByVal K1 As Single, ByVal K2 As Single, ByVal K3 As Single, ByVal Position1 As Single , ByVal Position2 As Single, ByVal Position3 As Single) As Single
     
    Private Sub Command1_Click()
        vitesse1 = Modele_dynamique(10, 18, 18, 18, 25, 47, 87, 89, 74, 86, 23)
     
        Text1.Text = vitesse1
     
    end sub

    Quelqu'un a une solution à me proposer svp ?

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Ne retourne pas le résultat mais l'adresse du résultat.
    Pour un retour multi réponses, utilise une structure.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Finalement j'ai mis les float dans un String avec la fonction sprintf

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    sprintf(planplan,"%f,%f,%f",b[1],b[2],b[3]);

    et ensuite j'ai découpé les String dans Visual Basic pour récuperer les valeurs des float.

    Merci pour ton aide

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2007, 20h09
  2. Réponses: 1
    Dernier message: 16/03/2007, 15h28
  3. Probleme de passage de string entre DLL win32 et projetC#?
    Par Jayceblaster dans le forum C++/CLI
    Réponses: 15
    Dernier message: 17/11/2006, 13h10
  4. [C#] Passage de valeur entre classes
    Par Neitsa dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/05/2006, 12h57
  5. Passage de valeurs entre fenêtres différentes
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/02/2005, 15h10

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