JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=7989d082b43dc1d453a4965b3d96339aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Runtime Error beim releasen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
51m0n
JLI'ler


Alter: 33
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 11.06.2006, 19:21    Titel: Runtime Error beim releasen Antworten mit Zitat

Hi
Seit kurzem gibt es immer einen Runtime Error wenn ich irgendein DX Objekt freigeben will. Hier mal der Code:
Code:
Unhandled exception at 0x4fd94d07 in Direct3DTest.exe: 0xC0000005: Access violation reading location 0xfeeefef6.

Zuerst hab ich gedacht, dass das schon freigegeben wurde, aber es passiert bei jedem Objekt..
Hier mal ein paar Codesnipsel:
CPP:
if(FAILED(D3DXGetImageInfoFromFile(Filename.c_str(), &Tex.ImgInfo))) //Image Info von Bild holen
      {
         return false;
      }

      //Textur erstellen
      if(FAILED(D3DXCreateTextureFromFileEx(D3D->GetDevice(), Filename.c_str(), (long)Tex.ImgInfo.Width, (long)Tex.ImgInfo.Height, 1, 0,
         D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT, 0xFFFF00FF, NULL, NULL, &Tex.Texture)))
      {
         return false;
      }

      //Textur einfügen

Code:
It->second.Texture->Release();
Textures.erase(It);


Ich mein so viel kann man da ja nicht falsch machen. Liegt das vieleicht am Direct3D Device?

Hoffe ihr könnt mir helfen.

MfG 51m0n
_________________
Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dragon
Super JLI'ler


Alter: 38
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 11.06.2006, 19:28    Titel: Re: Runtime Error beim releasen Antworten mit Zitat

51m0n hat Folgendes geschrieben:
Code:
It->second.Texture->Release();
Textures.erase(It);

Das hast du bestimmt mit einer Schleife gemacht? Zeig die bitte mal. Ich hab eine Vermutung ^^.
_________________
Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
51m0n
JLI'ler


Alter: 33
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 11.06.2006, 19:56    Titel: Antworten mit Zitat

ne nix da Schleife Razz
Das man da dann It = erase(It); schreiben muss hab ich (leider) schon öfters festgestellt, falls du das meinst ^^.
Aber an einer anderen Stelle ist eine Schleife:
CPP:
for(std::map<std::wstring, Texture_>::iterator It = Textures.begin(); It != Textures.end(); ++It)
{
      It->second.Texture->Release();
}

Aber es passiert ja auch bei Fonts usw :/

edit:
Fehler gefunden. Ich hab einer Methode anstatt einem Zeiger auf meine D3D Klasse eine Kopie davpn übergeben Confused
Ich hasse solche Fehler, die bringen mich immer zum verzweifeln :/
_________________
Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum