Ojekt aus CMainFrame
-
Moin,
ich habe ein Ojekt in CMainframe (CDialogxy Objekt). Mit diesem Ojekt rufe ich einen modalen Dialog auf. Danach benötige ich genau dieses Objekt aber in der Klasse CAnwendungDlg.
Kann mir jemand sagen, wie ich dies am Besten löse? Wenn ich eine Funktion zum übergeben schreibe, bekomme ich in CAnwendungDlg beim Aufruf eine Fehlermeldung (cannot access protected member declared in class 'CMainFrame').
Danke
Thomas
-
Scheint so, als wäre die Funktion zum Übergeben geschützt (protected). Einfach mal versuchen, ob ein public: vor der Funktion klappt:
class CMyClass { // ... public: void MyFunction(); };
-
Schön wär's...!
Natürlich ist meine Funktion public deklariert.
Es geht mit keiner Funktion in CMainFrame. Wenn ich in irgendeiner Klasse irgendein Objekt von CMainFrame erstelle und damit eine in CMainFrame enthaltene Funktion aufrufen möchte, kommt die gleiche Fehlermeldung!
-
Hallo zusammen,
ich bin mir nicht sicher, ob ich richtig verstehe was du meinst. Hast du mal ein bisschen Code?
Ansonsten bekommt man normalerweise Sachen aus CMainFrame recht einfach mit:
AfxGetMainWnd();
Also nehmen wir jetzt mal an, deine Funktion heißt CMainFrame::MachWas() und sie ist public. Dann könnte das so aussehen:
(CMainFrame*)AfxGetMainWnd()->MachWas();
Gruß, Volle.