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???