Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de ma DLL C++ dans VB

Sujet résolu
    23 avril 2008 à 13:46:14

    Bonjour, je test mes premiere DLL C++ pour les appeller depuis Visual basic.
    J'ai reussi a avoir une interaction avec ma dll depuis VB, mais je n'arive desesperement pas a envoyer une variable a ma DLL.

    Voici le code C++ de ma DLL : (main.cpp)

    #include "main.h"
    
    
    void DLL_EXPORT SomeFunction(void)
    {
        MessageBoxA(0,"PLOP", "DLL Message", MB_OK | MB_ICONINFORMATION);
    }
    
    void __stdcall GetValeur(long *valeur)
    {
        *valeur += 10;
    }
    
    BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
    {
        switch (fdwReason)
        {
            case DLL_PROCESS_ATTACH:
                // attach to process
                // return FALSE to fail DLL load
                break;
    
            case DLL_PROCESS_DETACH:
                // detach from process
                break;
    
            case DLL_THREAD_ATTACH:
                // attach to thread
                break;
    
            case DLL_THREAD_DETACH:
                // detach from thread
                break;
        }
        return TRUE; // succesful
    }
    


    Voici le Main.h :

    #ifndef __MAIN_H__
    #define __MAIN_H__
    
    #include <windows.h>
    #include <string>
    
    /*  To use this exported function of dll, include this header
     *  in your project.
     */
    
    #ifdef BUILD_DLL
        #define DLL_EXPORT __declspec(dllexport)
    #else
        #define DLL_EXPORT __declspec(dllimport)
    #endif
    
    
    #ifdef __cplusplus
    extern "C"
    {
    #endif
    void DLL_EXPORT SomeFunction(void);
    void __stdcall GetValeur(long *valeur);
    
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif // __MAIN_H__
    


    Et voici le code VB :

    Private Declare Sub SomeFunction Lib "test.dll" ()
    Private Declare Sub GetValeur Lib "test.dll" (valeur As Long)
    
    
    Private Sub Command1_Click()
    Dim valeur As Long
    valeur = Text1.Text
    
    GetValeur valeur
    
    Text2.Text = valeur
    
    End Sub
    
    Private Sub Executer_Click()
    
    SomeFunction
    
    
    End Sub
    

    (PS j'ai utiliser les balise VB.net mais c'est du VB simple)

    Donc comme on peut voir dans le main.cpp il y a deux fonctions : la fonctions SomeFunction qui marche, et la fonctions toute bete censee ajouter 10 a la valeur envoyer depuis VB....qui marche pas.

    Pouriez vous donc m'aidez svp afin que je puisse enfin manipuler des variable VB dans mes tite dll :)
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter

    Utilisation de ma DLL C++ dans VB

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown