C++ destructeur et win32 (ou MFC ou autre surcouche)

Signaler
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
MessageBox au sein du destructeur de la fenetre principale



Bonjour!



Pour les besoins d'un tests,

j'ai essayer de faire une pause avant de détruire ce qu'il y a a
détruire dans le destructeur d'une classe correspondant au dialog
principal d'une appli. (dans mon cas, une classe héritant de CWnd... ui
je C, MFC)



Je sais que c'est une abbération (ce topic n'est pas un troll !)


Or le MessageBox (win32) (tout comme AfxMessageBox qui appelle MessageBox)

passe tout droit.

(il retourne 4 correspondant à retry)



Y a t'il une interdiction physique à afficher un message au sein d'un destructeur de fenetre?

et comment peut elle avoir été implémentée??





sinon, il est possible que mes appels ne soient pas bon.

En ce cas, comment faire?





Merci



____________

implémentation en question:





CLanceurDlg::~CLanceurDlg()

{

AfxMessageBox("pause avt destructions des fichiers temporaires",MB_ICONINFORMATION);

MessageBox("123","pause avt destructions des fichiers temporaires");

::MessageBox(m_hWnd,"123","pause avt destructions des *** temporaires",MB_OK);

...

}
___________________________________________________________
Magicalement
Nono

3 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Tu veux dire qu'aucune de tes MessageBox ne s'affiche?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je pense que c'est parce que m_hWnd n'est plus valide.

MessageBox(0, "Message", "Message", MB_OK); // marche bien
MessageBox((HWND)1, "Message", "Message", MB_OK); // ne marche pas!
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Non, j'ai refais le test (ac VC6)



::MessageBox(0, "Message", "Message", MB_OK); // marche bien


et tjs rien ne s'affiche.



Louche...
___________________________________________________________
Magicalement
Nono



OF : niv43 (hardos le 41, mais trop simple le 42)