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 :

CString et DLL


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 13
    Par d�faut CString et DLL
    Bonjour,

    J'ai cr�e une DLL avec une fonction, qui affiche plusieurs fois la m�me cha�ne, une fois en tant que char *, une fois en tant que CString * puis en CString.
    En char * tout est OK, mais CString et CString *, il m'affiche un code hexa (l'adresse du pointeur?).

    Cette fonction marche tr�s bien dans un programme "normal", mais dans une DLL... juste le char * qui marche.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    void afficherMsg()
    {
        char * test = "ceci est un test";
        CString * test2 = new CString();
        *test2 = "ceci est un test";
        CString test3 = "ceci est un test";
        cout<<"char * : "<<test<<endl;
        cout<<"CString * : "<<*test2<<endl;
        cout<<"CString : "<<test3<<endl;
     
    delete test;
    delete test2;
    }
    Note : j'ai essay� d'afficher **test2 ou *test3, toujours une cha�ne hexa... Idem pour test2->GetBuffer() et test.GetBuffer()


    Si quelqu'un a une id�e...
    Merci

    A+


  2. #2
    Membre �clair�
    Inscrit en
    Juin 2003
    Messages
    270
    D�tails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 270
    Par d�faut
    Tu utilises Visual Studio ? Que dis la compilation? Pas de warning ?

    C'est quoi un programme "normal" ? Un exe Win32 ?

  3. #3
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    t'as essay� avec ***test2 ?
    non, je plaisante.

    je n'ai pas compris ce qu'il se passait dans la dll. La fonction est dans la dll et tu l'appelles depuis ton programme principal en lui passant les chaines en param�tres ?
    c'est ca ou j'ai rien compris ?

  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
    Si j'ai bien compris, tu as des probl�mes pour passer un objet de type CString � un flux C++ ?
    Essaie en appelant explicitement l'op�rateur de conversion de la CString en pointeur sur cha�ne:

    cout << LPCTSTR(*test2) << end;


    Mais �a n'explique pas pourquoi le GetBuffer() n'a pas march�...
    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.

Discussions similaires

  1. 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
  2. R�ponses: 3
    Dernier message: 18/01/2007, 15h05
  3. Probl�me cr�ation de DLL avec CString
    Par loupdeau dans le forum MFC
    R�ponses: 3
    Dernier message: 21/07/2005, 20h55
  4. Equivalent � ExeName pour une DLL
    Par Smortex dans le forum Langage
    R�ponses: 7
    Dernier message: 16/07/2002, 21h07
  5. R�ponses: 2
    Dernier message: 20/03/2002, 23h01

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