Auf das Document in einer Dialogklasse zugreifen
-
Ja, danke.
Also wenn ich C++ ein bisschen verstanden habe muss ich:
CNogame2Doc* CNogame2View::GetDocument() { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CNogame2Doc))); return (CNogame2Doc*)m_pDocument; }
in die Dialog Klasse kopieren... bloss mit CMetMiDlg statt CNogame2View.
Leider tut das nicht (war klar).Was mach ich Falsch? Was habe ich nicht verstanden?
-
Hmm, damals waren wir zwei nen Schritt weiter.
Lies nochmal den Beitrag von mir von 15:09:35 02.02.2006.
-
Welche "Art" müsste diese Membervariable denn sein? m_pDoc?
CMetDlg MetDlgMom; MetDlgMom.m_pDoc = GetDocument(); MetDlgMom.DoModal();
Also wie muss ich die initialisieren/erzeugen?
Wenn ich diesen sch**** hinter mir habe gebe ich eine Kiste Bier aus ^^
-
Gegenfrage: Was gibt dir GetDocument?
Denn genau das, was du da bekommt willst du in m_pDoc speichern.Anm: Ich mach das mit dir mal Schritt für Schritt, damit du hinterher weißt, wie du drauf kommen kannst. Fürs nächste Mal eben.
-
GetDocument gibt mir einen Pointer bzw. das was in eine Pointer "reinkommt"?
Das Schritt für Schritt ist gut!
-
Pointer ist richtig, aber auf was?
Schreib den Typ mal hier hin.
-
Ein Pointer auf das Document?
Typ, da muss ich passen. Vielleicht auf eine Klasse?
-
Ja, auf welche Klasse?
Den Namen brauchen wir....kleiner Tip, sie endet vermutlich mit Doc.
-
CNogame2Doc?
CNogame2Doc *m_pDoc ?
-
Szill schrieb:
CNogame2Doc *m_pDoc
-
Ja, danke erstmal!!
Aber es klappt nicht
So ist alles richtig? :
CNogame2Doc *m_pDoc; <- in der MetMiDlg.h unter puplic
void CNogame2View::OnAusMetMi() { CMetMiDlg mDlg; mDlg.m_pDoc = GetDocument(); mDlg.DoModal(); }
void CMetMiDlg::OnMetMi() { m_pDoc->Met = 10; AfxMessageBox(m_pDoc); }
metmidlg.h(19) : error C2501: 'CNogame2Doc' : Fehlende Speicherklasse oder Typbezeichner
und noch 4 ähnliche Fehler.
-
Compilermeldungen die diesem Schema entsprechen
'Klassenname' : Fehlende Speicherklasse oder Typbezeichner
zeigen dir, dass du vergessen hast, die Klasse zu includen.
Gut merken, den Fehler wirst du noch oft bekommen.
-
vielen, viele, vielen Dank!
MfG Szill
Bis (sehr wahrscheinlich) bald
-
Kein Problem.