![]() |
Probleme mit DirectX 9 in Delphi 2005
Hi Leutz
Ich komme nicht weiter. Ich versuche gerade, das Tutorial ![]() Das sieht jetzt so aus:
Delphi-Quellcode:
Ein Problem hat er mit dem Panel1, obwohl es existiert (Self.Panel1 klappte nicht, da hat er schon bei self geschimpft)
procedure zeichnen();
begin try // Die 3D Ausgabe wird hier auf Ein Panel gelegt F3D := TPaintDirectX9.Create(TWinForm.Panel1); except on e: Exception do MessageBox.Show('Beim Erzeugen der 3D-Anzeige ist ein Fehler aufgetreten:'+ #13#10 + E.Message); end; end; Was klappt hier nicht? Eine zweite Frage hab ich auch noch. Ich habe das Buch "DirectX 9 in Delphi", dass sich leider auf VCL bezieht und nicht auf .NET. Schon die erste Seite funktioniert nicht. Ich habe alle DLL-Dateien als Referenzen eingebunden und die 2 Namespaces für DirectX in .NET deklariert. Alles schön und gut, doch schon die folgende Deklaration funktionert nicht:
Delphi-Quellcode:
Deswegen meine Frage: Sind die Datentypen für DirectX bei FCL anders als bei VCL? Oder was habe ich hier falsch gemacht?
var direct3d9: IDirect3D9;
Bitte helft mir.. thx Greetz ASCII |
Re: Probleme mit DirectX 9 in Delphi 2005
Zu deiner zweiten Frage:
Ja, sie sind komplett anders. Wenn du die VCL benutzt, benutzt du das "richtige" DirectX (als Dokumentation kannst du hier das DirectX SDK für C++ heranziehen). Wenn du die FCL benutzt, benutzt du typischerweise Managed DirectX (hier heißt die Dokumentation DirectX for Managed Languages). Managed DirectX verwendet zwar intern das COM-DirectX, kapselt allerdings alles (insbesondere D3DX) in eigenen Klassen, die somit inkompatibel zu den "richtigen" Klassen bzw. COM-Schnittstellen sind. Du kannst aber auch in .NET das COM-DirectX benutzen (da kann ich dir aber nicht sagen, wie ;)) |
Re: Probleme mit DirectX 9 in Delphi 2005
ok, erstmal danke für deine antwort
Ich interessiere mich für das richtige DirectX, also entfällt hier schon mal Frage 1^^ Da hacke ich jetzt mal nach: Gibt es eine Möglichkeit, das "richtige" DirectX in FCL einzubinden? Oder gibt es eine Methode die VCL-Header und die entsprechenden DLL's zu nehmen und sie über eine VCL.NET-Assembly in das .NET-Projekt einzubinden (auch wenn ich keine Ahnung habe wie das geht)? Oder wäre davon abzuraten? thx Greetz ASCII |
Re: Probleme mit DirectX 9 in Delphi 2005
Zitat:
Zitat:
greetz Mike |
Re: Probleme mit DirectX 9 in Delphi 2005
Ja, man sollte vielleicht hinzufügen, auch wenn Managed DirectX bis vor einiger Zeit nicht Bestandteil der normalen DirectX Runtime war, jetzt ist es das und ist somit mehr oder weniger gleichberechtigt mit den COM-Komponenten. Im Hinblick auf Vista könnte es sogar mal das offizielle werden, also hast du eigentlich nichts zu verlieren, wenn du gleich auf Managed DirectX setzt, es ist in jeder Hinsicht komfortabler :)
Und, nicht zu vergessen, die C#-Beispiele sind oftmals leichter in Delphi umzusetzen als die C++-Beispiele, zumal du das jeweils aktuelle Managed DirectX einfach in Delphi einbinden kannst (.NET ist halt .NET, egal in welcher Sprache), während du bei den COM-Komponenten immer auf eine Übersetzung nach Delphi warten musst. Als Einstieg kann ich dir alternativ zu dem von dir verlinkten Tutorial auch die auf ![]() |
Re: Probleme mit DirectX 9 in Delphi 2005
OK, aber ich hab hier immer noch mein Buch "DirectX 9 für Delphi", und es wäre ja doof wenn ich es nicht verwende und auf Managed DirectX umsteige...
Wie genau ich das echte DirectX nun einbinde habt ihr mir immer noch nicht gesagt... (ich hab doch keine Ahnung :roll: ) :? Muss ich dafür eigene Header schreiben, gibts da schon vordefinierte? Oder gibts einen einfacheren Weg? THX!! Greetz ASCII |
Re: Probleme mit DirectX 9 in Delphi 2005
Hmm, steht in dem Buch nicht, woher du die Units für DirectX bekommst für Delphi? Das ist ja eigentlich gerade eine der interessanteren Informationen ;)
|
Re: Probleme mit DirectX 9 in Delphi 2005
OK, also die aktuellen Header sind hier verfügbar:
![]() Nur sind die Units für VCL ausgelegt, ich brauche sie allerdings für FCL... Genau das ist ja mein Problem.... Ist es sehr umständlich/ langwierig die umzuprogrammieren oder gibt es bereits welche? Oder kann ich hier mit VCL.NET was machen? Ich hab kein Plan *confused* ASCII |
Re: Probleme mit DirectX 9 in Delphi 2005
Ich würde mir auf jeden Fall lieber ein neues Buch kaufen, als auf managed DirectX zu verzichten. Auch würde kei Win32-Buch für .Net einsetzen. Wenn du die Grundlagen von mDirectX gelernt hast, kannst du ja dann den Code des Buches für Delphi.Net umsetzen.
Zu deiner Frage: Nun ja, wozu sollte sich jemand die Mühe der Übersetzung machen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz