Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

MATT

Frischling

  • »MATT« ist der Autor dieses Themas
  • Private Nachricht senden

1

09.11.2005, 11:51

Invalid Address specified to RtlFreeHeap

Bei genau dieser Zeile:
m_pDirect3DDevice->Release();

kommt eine Ausnahme:

HEAP[Tester.exe]: Invalid Address specified to RtlFreeHeap( 00AD0000, 010C4960 )


Kann mir das einer erklären?

Anonymous

unregistriert

2

09.11.2005, 13:04

mach mal das:

C-/C++-Quelltext

1
2
3
4
5
if (m_pDirect3DDevice != NULL)
{
    m_pDirect3DDevice->Release ();
    m_pDirect3DDevice = NULL;
}


Speicher der schon freigegeben wurde darf man nicht noch mal freigeben.

Anonymous

unregistriert

3

09.11.2005, 13:27

das ist bereits schon so...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

09.11.2005, 13:28

Dann ist die Variable evtl. nicht initialisiert?

C-/C++-Quelltext

1
m_pDirect3DDevice = NULL;

Anonymous

unregistriert

5

09.11.2005, 13:30

Steven77
Wäre ne möglichkeit, denn CreateDevice gibt nicht umbedingt NULL zurück.

Außerdem solltest Du testen ob die Erstellungsfunktion ggf. was anderes als D3D_OK zurück gegeben hat.

Anonymous

unregistriert

6

09.11.2005, 14:40

Nein, das Problem lag ganz wo anders (habe es mittlerweile schon selbst gefunden)

Es gab einen Buffer-Overflow, dadurch, dass ich mehr in einen Vertex-Buffer kopiert habe, als rein passt...

Werbeanzeige