Voilà, je travaille sur un projet que je "reprends" d'une personne précédente... J'arrive, je compile, j'execute et je quitte... PAF ! 3 pages de memory leaks détectés par VC++... Je viens de passer une journée à corriger.
Maintenant je m'attaque à la petite dizaine de warning de compilation qui subsistent... Dont un qui me pose un peu problème.
Voilà un bout de code exemple. CZoomDlg hérite de CDialog.
Code :
- //dans une fonction qcq...
- machin = new CZoomDlg;
- machin->ShowWindow(SW_SHOW);
- //dans le CZoomDlg::OnDestroy()
- CDialog::OnDestroy(); //je cite de mémoire, j'ai pas mon code sous la main là...
- delete this;
|
Tout le problème vient du "delete this" dans le OnDestroy de lui même... normalement il faudrait le faire depuis la classe qui l'a crée avec new (ou autre) mais là je vois pas où le placer vu que je suis pas en modal... et que donc je sais pas quand l'utilisateur ferme la fenêtre... et mettre un callback pour ça serait lourdingue non ?
Bon, ça doit être trivial pour les gurus du C++ alors je compte sur vous ;-)