Problème avec GetDocument() [MFC] - C++ - Programmation
MarshPosté le 07-02-2005 à 01:19:30
Bonsoir,
En fait j'ai une application MFC construite comme ceci : - un mainframe - un doc - deux views construites via un splitter dans MainFrame::OnCreateClient
Jusque là, l'application s'affiche comme je le souhaite.
J'ai maintenant besoin d'avoir une relation entre le doc et les views. Pour cela, j'ai rajouté un pointeur CMyDoc *pDoc dans le .h dans l'une de mes views. J'ai rajouté l'include du CMyDoc. Le compilo me sort : "absence de ; avant *" en spécifiant la ligne où il y a ma déclaration de pDoc ... comme si il ne connaissait pas ma classe de document alors que j'ai bien mis l'include avant ! Seul moyen de outrepasser ça, c'est carrément mettre le prototype de la classe avant : class CMyDoc; (je sais pas si c'est une bonne chose, en tout cas ça me semble anormal).
Là ça compile, mais si jamais je cherche à récupérer en faisant un GetDocument, j'obtiens un NULL
J'ai peut-être mis trop de détail, mais peut-être est-ce lié alors... je vous remercie de votre aide !
Marsh Posté le 07-02-2005 à 01:19:30
Bonsoir,
En fait j'ai une application MFC construite comme ceci :
- un mainframe
- un doc
- deux views construites via un splitter dans MainFrame::OnCreateClient
Jusque là, l'application s'affiche comme je le souhaite.
J'ai maintenant besoin d'avoir une relation entre le doc et les views. Pour cela, j'ai rajouté un pointeur CMyDoc *pDoc dans le .h dans l'une de mes views.
J'ai rajouté l'include du CMyDoc. Le compilo me sort :
"absence de ; avant *" en spécifiant la ligne où il y a ma déclaration de pDoc ... comme si il ne connaissait pas ma classe de document alors que j'ai bien mis l'include avant ! Seul moyen de outrepasser ça, c'est carrément mettre le prototype de la classe avant :
class CMyDoc; (je sais pas si c'est une bonne chose, en tout cas ça me semble anormal).
Là ça compile, mais si jamais je cherche à récupérer en faisant un
GetDocument, j'obtiens un NULL
J'ai peut-être mis trop de détail, mais peut-être est-ce lié alors... je
vous remercie de votre aide !