DirectX: Probleme beim Erzeugen von Materialen
-
Hi Leute
Ich bringe mir zur Zeit selbst DirectX bei und es hat soweit alles geklappt, allerdings komm ich nun bei einem Problem doch nicht weiterIch will versuchen eine Modelldatei ins Programm zu laden aber wenn ich dann für jedes Teilmodell die Materialen erzeugen will fangen die Probleme an..
Die ProgrammzeileD3DMATERIAL9 *pship=new D3DMATERIAL9[numMaterials];
lässt sich zwar ohne Weiteres kompilieren aber sobald ich die exe datei des Programmes starte stürzt es an dieser Stelle sang und klanglos ab. Wenn ich das Programm übrigends ohne diese Zeile mache und nur ein Modell lade von dem ich weiß wieviele Teilobjekte es hat und gleich ein entsprechend großes Array im Code für die Materialen deklariere funktioniert es problemlos!
Bin nun ziemlich ratlos woran das liegt, da es auch so in der DirectX Dokumentation steht (von den Variablennamen mal abgesehen), und das mit dem dynamischem Speichergebrauch eh nicht mein Fachgebiet ist...
Bin für jeden Hinweis zur Problemursache und dessen Behebung dankbar
-
was fuer eine fehlermeldung bekommst du denn genau im debugger?
-
Bist du dir sicher, dass numMaterials einen gültigen Wert hat?
-
Ok ich hab den wahren Übeltäter nun doch noch selbst gefunden
In meiner Protokollfunkion hatte ich noch ein paar alte C Funktionen drin die anscheinend laut Debugger zu Zugriffsverletzungen geführt haben, was aber irgendwie nur zusammen mit dem Erzeugen der Materialen zu einem Programmabsturz geführt hat (warum aber ausgerechnet mit den Materialen übersteigt meinen Horizont weil anderen Sachen ließen sich ohne Probleme dynamisch erzeugen)
Naja egal hab nun das ganze alte Zeugs rausgeschmissen und mit der String Klasse neu gemacht und nun funktioniert das Erzeugen der Materialen mit new problemlos und der Debugger hat auch nichts mehr zu meckern