Constructeur dans une dll

kyfranBibax Messages postés 26 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 6 janvier 2008 - 2 juin 2005 à 16:34
kyfranBibax Messages postés 26 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 6 janvier 2008 - 2 juin 2005 à 16:37
Coucou,



J'ai quelques petites questions car je suis pas un pro du c++.



J'ai cré une Dll pour utiliser dans un programme c#.

J'obtiens une exception de type NullReferenceException lorsque je l'apelle.



Je me suis rendu compte que l'erreur provenait de ma dll elle-même.



Voici mon code de la fonction exportée :





Voici le code de mon constructeur :





J'ai remarqué plusieurs petites anomalies :

1) La messageBox dans mon constructeur ne s'affiche pas

2) Toutes les messageBox de ma fonction exportée s'affichent

=>Pourquoi si la messageBox de mon constructeur ne s'affiche pas, les messagesBox de ma fonction exportées s'affichent-elles?



Je pense que si j'obtiens ce type d'exception, c'est que mon objet myCreatePal n'est pas crée.

Mais pourquoi j'arrive pas à passer dans ce constructeur?????????



S'il vous plaît, un peu d'aide...


Have a nice day



Bibax en fait un max

1 réponse

kyfranBibax Messages postés 26 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 6 janvier 2008
2 juin 2005 à 16:37
Oups, j'ai oublié de mettre le code :



Voici ma fonction exportée:

extern "C" CREATEPAL_API int (__stdcall GenPal)(CString strInput, CString strOutput, UINT nColors)

{

MessageBox(NULL,strInput,"",MB_OK);

//create a CCreatePal Object

CCreatePal myCreatePal();

MessageBox(NULL,"MycreatePal","",MB_OK);

myCreatePal.GeneratePalette(strInput,strOutput,nColors);

return 0;

}



Voici mon constructeur :

CCreatePal::CCreatePal(CString strInput, CString strOutput, UINT nColors)

{

MessageBox(NULL,"coucou", "", MB_OK);

}


Il ne se passe rien dans mon constructeur car j'ai juste besoin d'utiliser la fonction GeneratePalette.


Have a nice day



Bibax en fait un max
0
Rejoignez-nous