URL: https://www.overclockers.at/coding-stuff/probleme_mit_mfc_getdocument_invalidate_79351/page_1 - zur Vollversion wechseln!
Habe zwei arge Probleme mit der MFC.
Klar ist, dass ich die Daten im Document gespeichert habe.
Mein Programm heisst rectelli2. Also müsste ich in der View mittels
CRectelli2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
mit dem pDoc->Zeiger auf die Daten zugreifen können. Nur bekomm ich die Fehlermeldung: "GetDocument" Nicht deklarierter Bezeichner,
'int' kann nicht in 'class CRectelli2Doc*' konvertiert werden.
Das passiert aber nur bei selbst definierten Funktionen. Muss ich den Funktionen einen weiteren Parameter übergeben oder wo könnte sonst das Problem liegen?
2. Problem:
Wenn ich in den selbst gebastelten Funktionen Invalidate(); aufrufen will (zum Neuzeichnen), kommt wieder eine Fehlermeldung: Nicht deklarierter Bezeichner. Er zeigt mir aber die Hilfe an, wenn ich Invalidate schreibe. Wo könnte da das Problem liegen?
Plz help & tia
Wo erstellst du deine "selbst gebastelten" Funktionen ?
In der CRectelli2View ?
Hast du sie als Methoden der Klasse hinzugefügt ?
1. Mach dir ein
CRectelli2Doc* CRectelli2View::GetDoc()
{ return (CRectelli2Doc*) GetDocument(); }
2. Klassenname vergessen?
hmmm ... versteh ich nicht wofür das ist, die GetDocument Funktion ist doch eine Methode der CRectelli2View somit ergibt das für meinen begrenzten Verstand keinen Vorteil ...Zitat von thatCRectelli2Doc* CRectelli2View::GetDoc()
{ return (CRectelli2Doc*) GetDocument(); }
Man muss nicht mehr casten.
@LakeBodon: Wenn der Compiler was nicht kennt, was er eigentlich kennen sollte, hast du meistens das entsprechende include File vergessen.
Warum casten, die Standard GetDocument Funktion sieht doch bereits so aus :Zitat von RingdingMan muss nicht mehr casten.
Für mich ergibt das dann überhaupt keinen Sinn...Code:CRectelli2Doc* CRectelli2View::GetDocument() { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRectelli2Doc))); return (CRectelli2Doc*)m_pDocument; }
Zitat von VivoFür mich ergibt das dann überhaupt keinen Sinn...
Zitat von that2. Klassenname vergessen?
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025