Datenaustausch unter den Klassen



  • Hallo,
    ich habe eine durch den Assistenten erstellte SDI Anwendung.
    Wie ist es möglich Daten zwischen CView und CMainFrame auszutauschen?



  • Probiers mal mit CView::GetParentFrame().
    Dann noch Zeigerumwandlung durchführen und Daten in MainFrame setzen



  • Danke für die schnelle Hilfe.
    Ich habe mich vielleicht etwas ungenau ausgedrückt.
    Mein Problem ist folgendes:

    Ich öffne in der Methode

    void CMainFrame::OnFileOpen()
    

    eine Datei. Dann wird die Datei analysiert.

    Das Ergebnis möchte ich dann in einem Textfeld ausgeben dessen Variable ja in

    C...View
    

    deklariert ist.
    Jetzt müsste ich ja von

    CMainFrame
    

    aus diese Variable beschreiben und dann die

    UpdateData
    

    Methode aufrufen.
    Wie kann ich das anstellen?



  • Falsch, man öffnet die Datei NICHT in CMainFrame::OnFileOpen sondern die Datei wird für Dich schon in CDocument::OnFileOpen geöffnet. Analysiert wird sie innerhalb von CMeinDocument::Serialize.
    Ausgeben tut man den Text, indem man die Daten innerhalb von CMeinDocument ablegt und über den GetDocument-Zeiger des Views darauf zugreift.



  • Danke.
    Dachte mir schon dass ich da einen grundsätzlichen Fehler mache.
    Ich programmiere zwar schon ewig c++ aber mit mfc erst ein paar Tage.
    Werd euch bestimmt noch öfter brauchen.


Anmelden zum Antworten