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