Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#4

Re: Probleme mit DirectX 9 in Delphi 2005

  Alt 2. Mai 2006, 19:31
Zitat von ASCII:
Ich versuche gerade, das Tutorial http://www.delphipraxis.net/internal...ct.php?t=48929 nachzuvollziehen. Irgendetwas klappt da nicht. Ich habe die DLL-Dateien eingebunden, die Namespaces deklariert (klappt auch soweit). Die Variablendeklaration F3D: TPaintDirectX9; funzt auch noch. Ein Problem habe ich jetzt mit der Funktion. Ich habe hierfür eine Prozedur gemacht und den Code für das Erzeugen des Objektes eingefügt.

Das sieht jetzt so aus:
Delphi-Quellcode:
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;
Ein Problem hat er mit dem Panel1, obwohl es existiert (Self.Panel1 klappte nicht, da hat er schon bei self geschimpft)
Was klappt hier nicht?
Bis auf dass self logisch nicht existiert (du hast hier ne Prozedur, keine Methode ) liegt das Problem wohl darin, dass du TWinForm.Panel1 verwendest. Schieb die zeichnen-Methode OOP-gemaess in deine TWinForm-Klasse und greif dann mit self.Panel1 drauf zu. Dann muessts klappen.

Zitat von ASCII:
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?
Du kannst auf die nativen Libararies zugreifen, soviel du willst, auch von .NET-Applikationen aus. Du kannst dir aber auch die Muehe sparen und auf Managed DirectX zurueckgreifen. Ich weiss nicht ganz, welchen Sinn ersteres haette. Am Ende kaems dahin, dass du sagen koenntest, du haettest nen Teil der Managed DirectX-Kapselung neu programmiert, was so gut wie fuern A.....llerwertesten waere

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat