Bonjour a tous,
J'ai un petit probleme mais ca me bloque toute ma prog, c'est un peut compliquer :
j'ai une classe TModlessDialogBox qui dérive de la classe CDialog.
Dans une autre classe, je veut utiliser TModlessDialogBox donc je fais
class Truc
{
TModlessDialogBox* Box;
etc...
}
et j'initialise tout ca
Truc::Truc()
{
Box = new TModlessDialogBox(mesParam...)
}
--> Quand je fait comme ci-dessus, ca fonctionne bien, Box pointe bien vers un objet de type TModlessDialogBox.
Mais c'est quand ma classe est comme ceci que ca merde :
class Truc : public Bidule
{
TModlessDialogBox* Box;
etc...
}
et j'initialise tout ca
Truc::Truc() : Bidule(Param)
{
Box = new TModlessDialogBox(mesParam...)
}
La seul chose qui change est que la classe Truc est dérivée de la classe Bidule, et du coup quand j'initialise Box ca ne l'initialise pas, Box pointe vers n'importe quoi !!.
Ca fait dépuis le début de l'a-m que je suis dessus pour trouver une solution mais pas moyen.
si tout ce que tu changes est la dérivation d'une classe, ca doit marcher.
Voici quelques idées pour débugger :
- Est tu bien sûr de passer par ton Constructeur de Truc
- N'initialise tu pas par hasard une variable Box locale au lieu de ton attribut
Le code que tu donnes à l'air correct (sauf ;)