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

Visual C++ Discussion :

[MFC/C++] Appel de LoadString dans une dll


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 52
    Par d�faut [MFC/C++] Appel de LoadString dans une dll
    Bonjour � toutes et � tous,

    J'ai un probl�me avec la fonction LoadString().
    J'ai une dll dans laquelles j'inclus une ressource avec une string table. Quand je veux extraire les string avec la fonction LoadString(), la fonction se passe mal. J'ai la message box suivante.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    CString string;
    if (!string.LoadString( IDS_NO_CONNECTION ))
    {
    	AfxMessageBox(_T("Error Loading String: IDS_NO_CONNECTION"));
     
    }
    Cette dll est elle meme utilis�e par une application MFC qui contient elle aussi des LoadString(). Par contre, dans l'application, LoadString() se passe bien!!!


    Avez vous une id�e pour m'�clairer???

    Merci beaucoup..........

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Je crois bien que les MFC se partagent un seul HMODULE, dans une variable globale.
    Si ton programme n'est pas multithread, tu peux utilise AfxGetResourceHandle()/AfxSetResourceHandle() pour changer le HMODULE vers ta DLL et le remettre ensuite...

    Ou bien, la mani�re difficile: Tu utilises le LoadString() de l'API Win32 en donnant toi-m�me le HMODULE de la DLL (tu peux regarder le code source du LoadString() de MFC si tu ne veux pas avoir � *trop* te soucier de la taille...
    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 averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 52
    Par d�faut
    Je voudrais ajouter une petite pr�cision.

    La dll a sa propre ressource et l'application aussi. L'appel � LoadString se fait dans la dll et dans l'application et la dll n'est pas une dll de ressource....

    Est ce que sa change des choses ou j'essaie ce que tu m'as dit????

    Je te remercie....


  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    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 397
    Par d�faut
    Ces pr�cisions sont redondantes, donc �a ne change rien par rapport � ce que je t'ai dit. CString::LoadString() ne tape dans les ressources que d'un seul module � la fois, et ce module est choisi par une variable globale au processus

    La solution la plus s�re, c'est donc la seconde que j'ai donn�e ("la mani�re difficile").
    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.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    52
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 52
    Par d�faut
    Merci pour tes r�ponses!!!!!!!!



  6. #6
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    essaye de rajouter :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    au tout debut de ta fonction dans la dll.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 07/01/2010, 16h16
  2. Appel de fonction dans une DLL
    Par vtk37 dans le forum Windows Forms
    R�ponses: 3
    Dernier message: 30/04/2009, 08h58
  3. probleme appel de fonction dans une DLL
    Par sylvain.cool dans le forum C++
    R�ponses: 12
    Dernier message: 19/06/2008, 17h00
  4. R�ponses: 1
    Dernier message: 11/01/2008, 17h54
  5. DLL Native chargeant et appelant du code dans une DLL.NET
    Par cinemania dans le forum C++/CLI
    R�ponses: 3
    Dernier message: 17/04/2007, 07h12

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