Bonjour,
J'ai créé une appli sur le modèle View, Document... pour gérer plus proprement l'application mais j'ai des erreurs "Access Violation" qui apparaissent des fois quand je ferme le programme...
J'aurais aimé vos conseils, méthodes pour bien créer une appli sur ce modèle.
Ma question est déjà, dans quelles méthodes de View, Document, CDialog, placer les initialisations, destructions ?
Parce que il y a les constructeurs/Destructeurs mais il y a aussi les méthodes comme OnInitialUpdate(), Destroy, etc...
Dans quel ordre sont créées mes classes ? D'abord le Document et ensuite la View je suppose ?
Mon projet se présente ainsi :
- CMainFrame hérite de CFrameWnd
- CXApp hérite de CWinApp
- CXDoc hérite de CDocument
- CXView hérite de CFormView
et
- CXDlg hérite de CDialog, => type de fenetres que j'ouvre lors d'un clic sur un élément d'une listebox.
C'est dans la View, que je crée les CXDlg et que je stocke les pointeurs.
Dans CXDlg, du coup, j'utilise la méthode PostNCDestroy comme préconisé dans la FAQ...
Lors de la fermeture du programme avec des fenetres CXDlg ouvertes, on passe bien dans PostNCDestroy, mais c'est après être passées dans cette fonction pour chaque petite fenêtre ouverte que j'ai un Access Violation et le debugueur me mets sur :
Le problème, c'est que je n'arrive pas à voir d'ou est appelé ce GetDocument...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CXDoc* CXView::GetDocument() { ASSERT(m_pDocument->isKindOf(RUNTIME_CLASS(CXDoc))); // ICI la petite flèche jaune dans Visual... return (CXDoc*) m_pDocument; }
Bref, si quelqu'un a une idée et des conseils...
Merci
Bonne journée
Partager