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

MFC Discussion :

Resources (Dialog MFC) dans une DLL


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Par défaut Resources (Dialog MFC) dans une DLL
    Bonjour,

    j'ai créé une DLL dont la principale fonction est de créer un CDialog pour afficher le log de mes codes.

    J'ai un projet test ou la DLL en question est générée comme un projet de ma solution (je suis sous VS2010). Par contre, lorsque j'appelle la DLL d'un autre projet complètement différent, j'ai un crash clairement lié à ma DLL.

    Je crois que c'est parce que la ressource (CDialog) "n'existe nulle part" pour la DLL... enfin, ma compréhension de la chose étant très limitée, ce n'est qu'une hypothèse.

    Donc ma question est: si on crée une DLL qui est censé utiliser une resource, comment inclure cette resource dans la DLL?

    Merci d'avance.

    G13

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    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 393
    Par défaut
    Pour inclure une ressource dans une DLL, le projet de la DLL doit posséder un script de ressources (.rc).

    Attention aussi aux histoires de AFX_MANAGE_STATE() dans les fonctions exportées par la DLL, vu que c'est une DLL MFC. Je ne sais plus trop comment ça marche, et ce qu'il faut faire dans quel cas...
    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.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Par défaut
    Bonjour Médinoc et merci pour avoir pris le temps de répondre.

    Hier j'ai réussi à faire fonctionner ma DLL avec ressource!

    Je crois que jusqu'ici tout était bon, mais que j'avais oublié d'exécuter la fonction AfxInitRichEdit (car une de mes ressources est un dérivé de CRichEditCtrl), et donc la création du dialogue ne pouvait pas se faire.

    Si ça intéresse quelqu'un je peux détailler...

    -G13

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

Discussions similaires

  1. Dialog MFC d'une dll dans un exe non MFC
    Par auwel dans le forum MFC
    Réponses: 3
    Dernier message: 06/03/2009, 20h23
  2. Utiliser les MFC dans une dll
    Par simoryl dans le forum MFC
    Réponses: 4
    Dernier message: 10/09/2007, 09h16
  3. variable globale dans une dll MFC
    Par loup_precaire dans le forum MFC
    Réponses: 4
    Dernier message: 12/09/2006, 11h22
  4. Creation d'un message dans une dll non MFC
    Par dug dans le forum Windows
    Réponses: 1
    Dernier message: 29/11/2005, 12h50
  5. [MFC][DLL]Dialog Avec ActiveX dans une DLL ?
    Par matazz dans le forum MFC
    Réponses: 1
    Dernier message: 16/05/2005, 16h36

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