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

C++ Discussion :

Communication entre 2 DLL


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Mécatronique
    Inscrit en
    Mars 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur Mécatronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 49
    Par défaut Communication entre 2 DLL
    Bonjour,

    J'ai une application en C++ (qui n'a pas été codé par moi), elle est consitutée de nombreux projets dans une solution.

    A l'intérieur de cette solution, il y a 3 éléments qui peuvent nous interésser pour mon problème.

    J'ai mon projet .exe , une dll 1 et une dll 2.

    La dll 1 transmet des informations au projet .exe qui sont ensuite transmises du .exe à la dll2.

    J'aimerai que la dll2 envoie la valeur d'une variable à la dll1. J'ai suivi les protocoles classiques (dllexport ...) aucune erreur de compilation cependant que je lance le debugger le programme plante, je pense que cela est du au fait que j'utilise des informations de la dll1 donc je ne peux pas lui envoyé malgré que j’utilise ces informations en passant par le projet .exe, je ne sais pas si ce que je souhaite faire est faisable. Je transmet un petit schéma ci-dessous pour clarifier mon explication

    Nom : problemeDll.png
Affichages : 572
Taille : 11,9 Ko

    Vu que je ne maitrise pas vraiment cet aspect de la programmation, c'est possible que la réponse soit simple

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 119
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Quels sont les informations qui doivent être échangées et pourquoi ne pas les mettre dans un fichier ou tout autre méthode de communication
    Mais je m'emballe peut être, car au final, vous avez les DLL, donc les .h à utiliser pour accéder à la DLL. Donc, pour vous débloquer, je pense que vous devriez utiliser le débogueur.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Une DLL peut tout simplement en référencer une autre, appeler ses fonctions, etc.
    (par contre, en cas de dépendance circulaire c'est plus compliqué)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Pourquoi l'exe ne pourrait pas transférer les données de Dll2 à Dll1 alors qu'il le fait dans l'autre sens ?
    Sinon tu pourrais aussi enregistrer une callback ou un foncteur.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur Mécatronique
    Inscrit en
    Mars 2019
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur Mécatronique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2019
    Messages : 49
    Par défaut
    J'ai trouvé une autre solution !

    Je sais qu'une DLL peut en référencer une autre mais ça ne va que dans un seul sens, si DLL1 dépend de DLL2 , DLL2 ne peut pas dépendre de DLL1 cela crée une dépendance circulaire chez moi et donc le programme plante, j'ai trouvé une autre solution en dupliquant les méthodes que je voulais utiliser dans l'autre DLL mais je pensais que ce que je demandais été possible apparement c'est plus compliqué

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Tout est possible, parfois c'est plus ou moins compliqué.
    Après faudrait une demande claire et précise... ce ne sont pas les moyens qui manquent, mais tu sembles ignorer nos réponses... et continuer à forcer une architecture au moins bancale.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/06/2016, 09h02
  2. Réponses: 6
    Dernier message: 23/09/2010, 12h01
  3. communication entre C# et Dll C++ utilisant l'ATL
    Par Chafouin dans le forum C++/CLI
    Réponses: 7
    Dernier message: 27/05/2008, 15h30
  4. Réponses: 2
    Dernier message: 28/03/2007, 11h32
  5. communication entre un projet DLL et une application
    Par ferry.jules dans le forum C++Builder
    Réponses: 95
    Dernier message: 22/05/2006, 20h06

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