Nochmal Dll-Problem
-
Hi!
Ich habe immernoch meine Direct3D-Klasse in einer Dll gekapselt. Wenn ich das Fenster nun minimiere, und wieder aktiviere, dann wird ja WM_ACTIVATE emofangen. Dann sollen alle vom Programm gleadenen Objekte neu gleaden werden. Ihre Adressesn stehen in einer std::list. Sie sind alle von einer Basisklasse abgeleitet, welche die Methdoe LoadNew() hat. Wenn das so mache funktioniert es aber nicht:
std::list<meBaseClass*>::const_iterator it; meBaseClass* obj; for(it = m_ObjList.begin(); it != m_ObjList.end(); it++) { obj = *it; obj->LoadNew(); // hier kommt c000000005. }
obj zeigt aber auf die richtige Adresse, da bin ich jmir ganz sicher, im Debuggerfrnster steht :0x0004532 class me2DMap map
Das ist genau das Objekt welches ich in die Liste inegfügt habe.Kann es vielleicht daran liegenb, dass DLL und Hauptprogramm verschiedenen Speicherbereiche nutzen?