Zugriffe auf Objekte beim Laden eines FormViews



  • Hi,

    mal wieder ein kleines Problem.

    Ich habe eine SDI-CFormView-Anwendung, in der ich http://www.c-plusplus.net/forum/viewtopic.php?t=81908&highlight= benutze (Mehrere Formviews in einer SDI von estartu_de)
    Nun habe ich meine Anwendung mit einer datei-laden-Funktion ausgestattet. Das Problem ist folgendes: Ich lese die zu öffnende Datei und in dieser steht, welchen FormView ich brauche. Das switchen zum rihctigen klappt auch einwandfrei.
    Im FormView wird dann ein COptionTree benutzt (http://www.codeproject.com/treectrl/coptiontree.asp). Dieser wird durch ein paar Funktionen in der OnInitialUpdate der aufgerufenen FormView gefüllt, was auch noch einwandfrei klappt.
    Da ich, wenn ich eine Datei öffne, aber nicht nur den COptionTree fülle, sondern auch mit bestimmten Werten nach dem Füllen ändern möchte, hab ich ein Problem. Denn immer, wenn ich mit einer der Zugriffsfunktionen wie z.b. GetVisibleList() das 1. Element des COptionTree zurückgegeben haben möchte, bekomme ich NULL zurück. Wenn ich aber, nachdem der komplette FormView-"Wechselvorgang" abgeschlossen wurde, ich mit GetVisibleList() auf die Elemente zugreife, funktioniert alles wie es soll.
    Wieso kann ich nicht darauf zugreifen, wenn er noch beim "laden" des FormViews ist?



  • Muss für den Zugriff das Fenster (also das Control) schon existieren?

    Dann darfst du erst nach CFormView::OnInitialUpdate zugreifen. Darauf deutet auch der NULL-Zeiger hin.



  • Ich gehe folgendermaßen vor:
    In CMainFrame lese Datei, 1. Zeile zu öffnende FormView
    --> switche zu dieser (Dabei wird auch die OnInitialUpdate abgearbeitet, diese enthält auch CFormView::OnInitialUpdate() und erstellen und füllen des COptionTree, was auch hervorragend klappt)
    andere Zeilen Verarbeitung in der Klasse zum View, dort der Zugriff auf die Elemente des COptionTree, was fehlschlägt

    Also ist die OnInitialUpdate eigentlich komplett geladen.



  • Komisch.

    Wie sieht denn das m_hWnd von dem Control aus?

    Kannst du vielleicht mal zeigen, wie und wo du das in die switchView eingebaut hast? 🙂



  • Der hwnd von der control ist nicht NULL
    Ich kann dir das ja mal schicken, wenn du mir deine mailaddi gibst. ich geh jetzt jedenfalls erstmal Mittag essen 😃



  • Mahlzeit, ich kriege hoffentlich gleich Besuch vom Chef - sonst hätte ich auch Pause.

    estartu_de@yahoo.com

    🙂


Anmelden zum Antworten