Problem mit CDocument Variable
-
Hallo
ich habe in einem Cdocument eine Variable m_TestString
diese möchte ich gerne aus einem anderen teil des Programmes ansprechen, bis zu dem Dokument komme ich auch, dann ist aber Schluss.CFrameWnd *pWnd = (CFrameWnd *) AfxGetMainWnd(); CDocument *pDoc; pWnd = pWnd->GetActiveFrame(); if (pWnd) pDoc = pWnd->GetActiveDocument(); pDoc->m_TestString; // DAS funktioniert nichtWie komm ich daran?
Gruß Heiko
-
Deine Variable ist doch bestimmt kein Member von CDocument (würde mich jedenfalls sehr wundern), sondern von einer Klasse, die du von CDocument abgeleitet hast.
Wenn du darauf zugreifen willst, musst du dein pDoc auf den passenden Typ casten.
-
Gute Idee, hab jetzt gecastet
(CDiplomDoc*)pDoc->m_TestString;Aber die Variable soll immer noch kein Element der Klasse CDocument sein.
-
HeikoKortlang schrieb:
(CDiplomDoc*)pDoc->m_TestString;Der Pfeiloperator bindet stärker als der C-Style-cast. Also:
((CDiplomDoc*)pDoc)->m_TestString;Oder pDoc gleich als CDiplomDoc* deklarieren und den Rückgabewert von GetActiveDocument casten.
-
Vielen dank jetzt klappt es
