Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi...

Ich moechte/muss in einem Dialog der Klasse CDialog auf Daten die in der Klasse ApplicationDoc gespeichert sind.

Habe es mit untem dem code probiert aber da kommt beim compilieren die Fehlermeldung, dass er die Befehle(z.B. GetDocumet) nicht kennt.

CApplicationDoc* pDoc = static_cast<CApplicationDoc*>(GetDocument());

Also meine Frage: Wie kann ich auf Variablen von ApplicationDoc in der Klasse CDialog zugreifen?

Gruss!

Geschrieben

Soviel ich mich grad erinnern kann, hat eine von CDialog abgeleitete Klasse kein Document.

Wenn der Dialog aber als Child von z.B. CMainFrame erzeugt wurde, so kann man das per GetParent()->GetDocument() lösen....glaub ich zumindest...:rolleyes:

Geschrieben

Loki876, ich glaube, du hast etwas Grundsätzliches noch nicht verstanden. Du fragst immer wieder, wie du an Methoden (Befehle gibt's strenggenommmen in C++ nicht) von Klasse X aus Klasse Y herankommst.

Dabei ist das gar nicht dein Problem. Du willst nicht an CView::GetDocument ran, du willst einen Zeiger oder eine Referenz auf ein ganz bestimmtes CDocument. Du willst nicht an eine Klasse rankommen, du willst an eine bestimmte Instanz. Und dieser Unterschied ist dir IMHO noch nicht klar. Das erkennt man schon an der Problembeschreibung:

Daten die in der Klasse ApplicationDoc gespeichert sind.
Die Daten sind nicht in der Klasse gespeichert, sondern in einer Instanz dieser Klasse.

Deine Fragestellung ist in etwa so, als wenn du fragen würdest "Wie macht man Autotüren auf", wenn es dir eigentlich darum geht, wie du eine ganz bestimmte Autotür öffnet, und zwar die deines eigenen Autos, die zugefroren ist, und den Schlüssel hast du verloren. Die Frage hat nichts mit deinem Problem zu tun, und die richtige Antwort ("Aufschließen und am Griff ziehen") hilft dir nicht im geringsten weiter.

Die Antwort auf dein Problem (nicht auf deine Frage) ist: Übergib dem Dialog einen Zeiger oder eine Referenz auf die Dokumentinstanz, auf die du später zugreifen willst.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...