[MFC] Utilisation d'une fenêtre créée sans ressource associé
Bonjour,
Suite à mon précédent message, j'utilise une fenêtre créée sans ressources comme montré dans le post-it FAQ.
Mon problème est que je n'arrive pas à utiliser ma nouvelle classe de fenêtre comme variable membre de mon interface générale.
En local, ça fonctionne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| /////////////////////////////////////////////////////////////////////////
CImageBrowser.cpp
/////////////////////////////////////////////////////////////////////////
void CImageBrowser::OnRButtonDown(UINT nFlags, CPoint point)
{
[...]
CCheckClassesDlg dlg;
dlg.ReadDirectory(m_ImageDirectory);
dlg.SetCheckClassesDlg(0,0,150,120,"Check visible classes",this);
dlg.DoModal();
[...]
CStatic::OnRButtonDown(nFlags, point);
[...]
} |
En variable membre ça plante quand on essaie d'ouvrir la fenêtre pour la deuxième fois :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| /////////////////////////////////////////////////////////////////////////
CImageBrowser.h
/////////////////////////////////////////////////////////////////////////
class CImageBrowser : public CStatic
{
[...]
private:
CCheckClassesDlg dlg;
[...]
}
/////////////////////////////////////////////////////////////////////////
CImageBrowser.cpp
/////////////////////////////////////////////////////////////////////////
void CImageBrowser::OnRButtonDown(UINT nFlags, CPoint point)
{
[...]
dlg.ReadDirectory(m_ImageDirectory);
dlg.SetCheckClassesDlg(0,0,150,120,"Check visible classes",this);
dlg.DoModal();
[...]
CStatic::OnRButtonDown(nFlags, point);
[...]
} |
Le plantage a lieu au niveau d'InitModalIndirect() dans la fonction SetCheckClassesDlg(), utilisée pour initialiser la fenêtre.
ReadDirectory() initialise une structure interne à la classe de la fenêtre.
Le problème me donne l'impression qu'il manque une désallocation ou quelque chose comme ça mais je n'arrive pas à trouver où.