Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Problem mit Resourcen und .x-Dateien (https://www.delphipraxis.net/158607-problem-mit-resourcen-und-x-dateien.html)

LeeAdama 23. Feb 2011 18:54

Problem mit Resourcen und .x-Dateien
 
Hallo,

Ich programmiere seit etlichen Jahren mit Delphi und habe mich in den letzten Monaten intensiver mit DirectX beschäftigt. Ich bin jetzt von Delphi 2007 auf Delphi XE umgestiegen und wollte mein Programm mit XE kompilieren. Das Kompilieren war kein Problem, nur stellt mein Programm seit der XE-Kompilation meine 3D-Objekte nicht mehr dar, die sich in einer Resourcen-Datei befinden. Ich verwende folgenden Aufruf, um das Mesh zu laden:

hRes := D3DXLoadMeshFromXResource(hInstance, 'MODEL_CANDLE', RT_RCDATA,
D3DXMESH_MANAGED, d3ddev9,
InkWellD3DXBuffer_adja, InkWellD3DXBuffer_mtrl,
InkWellD3DxBuffer_eff, InkWellNumMaterials, LampMesh);

Wenn ich das Mesh mit folgendem Aufruf lade, funktioniert alles und der Kerzenständer wird gerendert:

hRes := D3DXLoadMeshFromX('.\Models\Candle.x',
D3DXMESH_MANAGED, d3ddev9,
LampD3DXBuffer_adja, LampD3DXBuffer_mtrl,
LampD3DxBuffer_eff, LampNumMaterials, LampMesh);

Die Resourcen-Datei habe ich schon auf verschiedene Art und Weisen ins Projekt eingebunden (manuell an verschiedenen Stellen, über "Project -> Resources and Images",...), aber keine führte zum Erfolg. Was mich halt wundert ist, dass es mit Delphi 2007 wunderbar funktioniert hat und mit XE gar nicht. Und das, obwohl ich nichts geändert habe. Über Google hab ich schon gesucht, aber das wenige, was ich über Resourcen und .x-Dateien finden konnte, hat mir nicht helfen können... Könnt ihr mir bitte helfen?

Grüße

Medium 23. Feb 2011 19:35

AW: Problem mit Resourcen und .x-Dateien
 
Wie es zunehmend gängige Praxis zu werden scheint, fehlt auch in deiner Frage eine Info darüber, was an Stelle von "funktionieren" passiert. Also Fehlermeldungen, unerwartete Ergebnisse, etc. pp. Das ist mindestens so relevant wie die eigentliche Frage ;)

So say we all!

Luckie 23. Feb 2011 19:41

AW: Problem mit Resourcen und .x-Dateien
 
Delphi-Quellcode:
.\Models\Candle.x
Und wo soll er die Datei finden?

LeeAdama 23. Feb 2011 22:34

AW: Problem mit Resourcen und .x-Dateien
 
Sorry, die Fehlerbeschreibung hätte in der Tat ausführlicher sein können ;)
Also: eine Fehlermeldung erhalte ich nicht, sondern mein Programm startet wie gewohnt. Der Unteschied zum direkten Auslesen aus der .x-Datei ist halt, dass der Kerzenständer nicht angezeigt wird. Ich habe auch mal ausgelesen, was hRes zurückliefert. D3D_OK ist es definitiv nicht. Aber auch die beiden anderen Rückgabewerte, die unter http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx stehen (D3DERR_INVALIDCALL oder E_OUTOFMEMORY) sind es auch nicht. Als Zahl liefert er mir -2005531814 zurück. Ich habe gesucht, welcher Meldung diese Nummer entspricht, bin aber nicht fündig geworden :(

Luckie: Die Datei findet er im Unterverzeichnis meines Projektverzeichnisses. Über diese Pfadangabe findet er sie auch definitiv, weil der Kerzenständer über D3DXLoadMeshFromX ohne Probleme geladen und angezeigt werden kann. Nur halt mit D3DXLoadMeshFromXResource funktioniert es nicht unter Delphi XE. Mit Delphi 2007 lief es, wie gesagt...

Grüße

Luckie 23. Feb 2011 22:36

AW: Problem mit Resourcen und .x-Dateien
 
Das mag ja schon sein. Nur ist es eine sehr unsichere Methode mit relativen Pfaden zu arbeiten, da diese vom aktuellen Arbeitsverzeichnis abhängen und das muss nicht das Programmverzeichnis sein.

LeeAdama 23. Feb 2011 22:42

AW: Problem mit Resourcen und .x-Dateien
 
Luckie: Das war ja auch nur zum Testen mit dem Pfad. Ich möchte die x-Datei ja weiterhin über meine Resource beziehen. Und das funktioniert nicht... Hast Du eine Idee?

BUG 23. Feb 2011 22:44

AW: Problem mit Resourcen und .x-Dateien
 
Aus der Datei laden scheint ja zu funktionieren.
Sein Problem ist, dass es aus der Ressource nicht mehr klappt.

// Edit: zu spät :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz