Erzeugen von View in DLL schlägt fehl



  • Hallo!

    In meiner EXE (SDI-Anwendung) habe ich ein Splitter-Window von der Klasse von Codeguru (http://www.codeguru.com/Cpp/W-D/splitter/article.php/c1529/) erstellt.
    Standardmäßig erstelle ich eine Toolbar-Links und ein Startfenster rechts.

    Wird nun eine DLL initialisiert, soll diese einen neuen View erzeugen. Der Zeiger auf die SplitterWnd-Klasse wird bei der Initialisierung übergeben.

    Jedoch bekomme ich beim erzeugen des Views immer eine "Debug Assertion Failure" und komm einfach nicht dahinter warum...

    // should also be in the permanent or temporary handle map
    CHandleMap* pMap = afxMapHWND();
    ASSERT(pMap != NULL);            //hier bricht er ab!!!
    

    Kann mir jemand sagen woran das liegt und evtl. wie ich es umgehen/beheben kann?
    ODER was das CHandleMap ist woher es kommt?

    Danke schonmal fürs lesen 😃

    Grüße
    CyberGonzo



  • Hat da jetzt niemand ne Idee/Vorschlag/Haue/Lösung/Ansatz/... (Haue nur deßhalb weil man das so schon überhaupt nicht macht) für mich?

    *Nach oben schieb!* :p



  • Also wie es aussieht lag es am

    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    

    welches ich in meiner Init-Funktion der DLL aufgerufen habe.

    Das Problem ist das er jetzt nicht mehr auf die Ressourcen meiner DLL zugreift sondern auf die Ressourcen des Hauptprogramms (laut http://www.c-plusplus.net/forum/viewtopic-var-t-is-63734).

    D.H durch die Lösung des Problems kam ein neues Problem hinzu.

    Wie kann ich der CreateView()-Methode sagen er soll die Ressourcen aus der DLL nehmen ohne AFX_MANAGE_STATE(AfxGetStaticModuleState()); aufzurufen???


Anmelden zum Antworten