1/Une façon de ne plus planter mais sans vraiment résoudre ton problème à la base est de stocker des HWND au lieu des pointeurs. Ensuite, tu peux utiliser IsWindow et DestroyWindow.
2/FindWindow peut être utilisée uniquement avec le nom de la classe (tu dois pouvoir retrouver le nom pour une boîte de dialogue).
3/D'ailleurs, à la réflexion, tu peux aussi passer par
EnumChildWindows si toutes tes boîtes de dialogues sont fille de ta classe vue ou frame.
Enfin, tu as clairement un problème d'ordre dans la destruction des tes éléments qui aboutit à ton problème. J'ai toujours trouvé un peu confus ces choses entre la fermeture par la petite croix rouge, par Alt+F4, par un menu etc... Ce sont souvent des aspects mal maîtrisés. As-tu regardé si la doc de farscape sur les MFC aborde ce sujet? Peut-être la solution est dedans.
Partager