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?


Anmelden zum Antworten