Zugriff auf Viewklasse
-
Hallo Leute,
ich habe eine SDI Anwendung deres Basisklasse FormView ist.
In der ErkautoDoc (Erkauto = Progname) habe ich einen
Pointer definiertCErkautoView* m_pMyView;
mit dem ich in der ErkautoDoc Klasse auf Variablen der ErkautoView Klasse
zugreifen will.Definition des Pointers.
class CErkautoView; //Vorwärtsdeklaration
class CErkautoDoc : public COleDocument
{
..
CErkautoView* m_pMyView;
..
}Die Header habe ich soweit eingebunden, kompilieren lässt sich das Ganze
auch, nur der Pointer zeigt ins Leere ich kann auf keine der Variablen zugreifen.
Wäre dankbar für Hilfe bin leider noch ein Anfänger
in Sachen MFC.Aileron
-
Da für ein Dokument unterschiedliche Ansichten existieren können, wäre es Quatsch, innerhalb des Dokuments auf eine Ansicht zuzugreifen, da es ja nicht weiss, um welche es sich handelt.
-
Es gibt ja nur eine Ansicht da es eine SDI Anwendung ist deren
Basisklasse ja FormView ist, oder steh ich damit auf dem Schlauch ?class CErkautoView : public FromView
{
..
int m_iOGrenze;
int m_iUGrenze;
..
}In der ErkautoDoc Klasse wollte ich dann mit Hilfe des Pointers
darauf zugreifeniOgrenze = m_pMyView->m_iOGrenze;
Aileron
Aileron
-
SDI heisst Single Document und nicht Single View. Nur in Deinem Konstrukt ist es ein Single View. Es gibt aber keinen unumgänglichen Grund, innerhalb eines Dokuments auf das View zugreifen zu müssen. Schliesslich muss man innerhalb einer Word-Datei auch nicht auf die Festplatte zugreifen, auf der diese Datei liegt.
-
Das heisst also es ist so nicht möglich
von der ErkautDoc-Klasse auf Elemente der ErkautoView-Klasse
zuzugreifen. Gibt es noch einen anderen Weg?Aileron
-
Speicher die Daten direkt im Dokument
-
Ja, Ok das habe ich verstanden.
Das Problem ist nur ich hol mir die Daten aus einem anderen
Dialog den ich aus ErkautoView aufrufe und die ich in ErkautoDoc
weitervearbeiten muss.ErkautoView holt die Daten aus den Dialogen und gibt sie weiter
an ErkautoDoc wo Sie weiterverarbeitet werden.Aileron
-
Das Problem ist nur ich hol mir die Daten aus einem anderen
Dialog den ich aus ErkautoView aufrufeDann ruf doch den Dialog aus ErkautoDoc auf.
-
Original erstellt von Aileron:
**Ja, Ok das habe ich verstanden.
Das Problem ist nur ich hol mir die Daten aus einem anderen
Dialog den ich aus ErkautoView aufrufe und die ich in ErkautoDoc
weitervearbeiten muss.ErkautoView holt die Daten aus den Dialogen und gibt sie weiter
an ErkautoDoc wo Sie weiterverarbeitet werden.Aileron**
Na so rum gehts doch auch ohne Probleme. (!?)
Und am Ende der Verarbeitung sollte ErkautoDoc ein UpdateAllViews aufrufen.
Damit bekommt die View die Gelegenheit dem aktualisierten Zustand des Doc wiederzugeben.