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

wxWidgets Discussion :

wxWidgets 2.6.4 et DLL avec paramètres


Sujet :

wxWidgets

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Points : 51
    Points
    51
    Par défaut wxWidgets 2.6.4 et DLL avec paramètres
    bonjour,
    j'utilise l'exemple suivant
    http://wxforum.shadonet.com/viewtopic.php?p=5964#5964
    pour créer une DLL utilisant les wxWidgets et pouvant être appellée d'un EXE n'utilisant pas les LIB wxWidgets
    Cet exemple fonctionne (jusque là tout va bien)
    Mais je ne vois pas du tout comment peut-on faire passer des paramètres et comment récupérer une valeur de retour ou un pointeur en guise de résultat
    Voici le code d'appel de la fonction côté EXE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                              // Load up the DLL and call DLLFunction(
                                    HMODULE hModule = LoadLibrary("Test.dll");
                                    assert(hModule);
                                    DLLFunctionPtr pProc = (DLLFunctionPtr)GetProcAddress(hModule, "DLLFunction");
                                    assert(pProc);
                                    (pProc)(hWnd);
                                    FreeLibrary(hModule);
    Voici la déclaration de la fonction côté DLL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // This is the function to be called from the host app
    extern "C" DLLFUNCTIONS_API void DLLFunction(HWND handle)
    {
    // Create a dummy wxWindow so we can use the HWND passed from the
    // host application
    ...
    }
    Merci de votre aide
    J

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    En utilisant une classe et une interface.

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class IComGUI:
    {
        virtual bool IsButtonChecked(char* buttonName) =0;
        virtual void SetButtonAsChecked(char* buttonName) =0;
        virtual void OnLeftClickButton (char* buttonName, void (*callback)()) =0;
    	…
    }
    La classe se déduit de l’interface et est aussi implémentée dans la dll.
    Le code (ici l'EXE) qui appelle la DLL récupère l’interface pour dialoguer avec.
    C’est très basique.
    Il faut nommer chaque bouton/composant différemment.

    Tout dépend ensuite de ce qu'on souhaite vraiment faire, pour quelque chose de très simple, cela peut convenir, pour quelque chose de plus complexe, c'est peut être pas le meilleur moyen.

Discussions similaires

  1. [WD14] Dll Delphi paramétré avec valeur de retour
    Par mail.spam dans le forum WinDev
    Réponses: 2
    Dernier message: 01/07/2009, 11h49
  2. DLL avec paramètres CString et String en .net
    Par basnifo dans le forum C++/CLI
    Réponses: 3
    Dernier message: 25/09/2008, 19h45
  3. charger une DLL avec paramètres
    Par cyberchand dans le forum C#
    Réponses: 6
    Dernier message: 29/05/2007, 16h28
  4. Réponses: 4
    Dernier message: 09/02/2006, 16h22
  5. [VB6]appel de dll en C avec paramètres
    Par SerLab dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/02/2006, 14h49

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