DLL et CString

dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 18 mai 2006 à 13:50
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012 - 19 mai 2006 à 09:09
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.

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;
}

 Note : j'ai essayé d'afficher **test2 ou *test3, toujours une chaîne hexa...

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

A+

3 réponses

excrt Messages postés 75 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 3 juillet 2006
18 mai 2006 à 19:50
void afficherMsg()
{
    char * test = "ceci est un test";
    CString * test2 = new CString("ceci est un test");
    CString test3 = "ceci est un test";

    cout<<"char * : "<<test<<endl;
    cout<<"CString * : "<< test2->GetBuffer() <<endl;
    cout<<"CString : "<< test3.GetBuffer() <<endl;

    delete test2;
}

il est possible que CString surcharge les opérateurs << et >> seulement pour les applications de type « console ». les « chaines hexa » qui s'affichent ce sont les adresses de « test2 » et « test3 ». à la base, dans une « application » de type dll/win32 app/etc... il n'y a pas de console donc la surcharge des opérateurs << et >> est inutile

-=-= ExCRT =-=-
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
18 mai 2006 à 20:20
Ok, merci,
je testerai ça demain, je te tiens au courant.
A+
0
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
19 mai 2006 à 09:09
Salut,
J'ai rajouté les GetBuffer mais c'est toujours pareil...
Merci quand même,
A+
0
Rejoignez-nous