Von eigenem Dialog auf C..View zugreifen
-
In der FAQ steht das ich in "MeinDialog.cpp" die C..View.h einbinden muß und dann kann ich per
CDeinView* pView = (CDeinView*)pMain->GetActiveView();
auf die Klasse zugreifen . Leider bekomme ich schon beim includen eine Fehlermeldung . Ich include nach Stdafx.h.Was mache ich falsch ?
Wieso kann ich die View-Header nicht includen ?
-
Zeig mal die Fehlermeldung bzw. wie Du includest.
-
Original erstellt von Ita12_Rafael:
Leider bekomme ich schon beim includen eine Fehlermeldung.Ich glaub eher beim kompilieren.

Hast du Include-Guards in deinem Header? Also sowas hier:
#ifndef MYVIEW_H_INCLUDED #define MYVIEW_H_INCLUDED #if _MSC_VER > 1000 #pragma once #endif // ... Der Inhalt deines Headers #endif[ Dieser Beitrag wurde am 15.05.2003 um 13:46 Uhr von MaSTaH editiert. ]
-
Also in der MeineDialogKlasse.cpp include ich so :
#include "stdafx.h" #include "Malle 7.h" #include "DialogErstellen.h" // HIER !!! #include "Malle 7View.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endifWenn ich die Datei include kommt die Fehlermeldung beim kompilieren
d:\c++\malle 7\malle 7view.h(21) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
d:\c++\malle 7\malle 7view.h(21) : error C2501: 'CMalle7Doc' : Fehlende Speicherklasse oder Typbezeichner
d:\c++\malle 7\malle 7view.h(21) : error C2501: 'GetDocument' : Fehlende Speicherklasse oder TypbezeichnerDie Fehler beziehen sich auf den Codeabschnitt :
class CMalle7View : public CListView { protected: // Nur aus Serialisierung erzeugen CMalle7View(); DECLARE_DYNCREATE(CMalle7View) // Attribute public: /*Zeile 21 : */ CMalle7Doc* GetDocument(); // Operationen public:Hoffe ihr habt ne Lösung parat .
-
Der Compiler kann mit CMalle7Doc nichts anfangen.
Du kannst das auf 2 Arten lösen.
Forwarddeklaration:
class CMalle7Doc;includieren des fehlenden Headers.
Gruß
Michael
-
was ist Forwarddeklaration ?
Wo soll ich class CMalle7Doc hinschreiben ??
-
Was ist Forwarddeklaration ??
-
Schau mal hier rein:
fehler bei querverweis #include".." von header datei
-
Blicke nicht durch .
Kann mir nicht jemand sagen wo ich
class CMalle7View;
hinschreiben soll ??