Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben (https://www.delphipraxis.net/112708-undefinierter-bezeichner-td3dxvector3-muss-es-geben.html)

napsterxx 25. Apr 2008 19:06


Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
Vielleicht kennt der ein oder andere das Buch, DirectX für Delphi. Ich habe mir das bestellt und arbeite derzeit damit. Bin auf Seite 71 und es handelt sich um Vertices. Jedoch hänge ich aus unerklärlichen gründen. Laut Autor, muss es diese TD3DXVector 3 geben.

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, direct3d9, dxhelp, ExtCtrls;

type
  TForm2 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure OnIdle(Sender: TObject; var done: boolean);
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  Direct3D9: IDirect3D9;
  D3DDev9: IDirect3DDevice9;


implementation

{$R *.dfm}

type
  TD3DLVertex = record
    position: TD3DXVector3;
    diffuse: TD3DColor;
  end;

const
  D3DFVF_TD3DLVertex = D3DFVF_XYZ or D3DFVF_DIFFUSE;

function InitGeometry: HResult;
var
  Vertices: Array[0..2] of TD3DLVertex;
begin
  D3DDev9.CreateVertexBuffer(sizeof( TD3DLVertex ) * 3, D3DUSAGE_WRITEONLY,
                             D3DFVF_TD3DLVERTEX, D3DPOOL_DEFAULT,
                             Vertexbuffer, nil);


end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  DHInitDGFX( Handle, False, 1280,1024,32, True, Direct3D9, D3DDev9 );
  Application.OnIdle := OnIdle;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  DHCloseDGFX( Direct3D9, D3DDev9);
end;

procedure Render;
begin
  D3DDev9.BeginScene;
  D3DDev9.Clear( 0, nil, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 1.0, 0);
  D3DDev9.EndScene;
  D3DDev9.Present( nil, nil, 0, nil );
end;

procedure TForm2.OnIdle(Sender: TObject; var done: boolean);
begin
  done := false;
  Render;
end;

end.

Aber ich bekomme die Meldung:
Zitat:

Undefinierter Bezeichner: 'TD3DXVector3'

mkinzler 25. Apr 2008 19:09

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
Hast du einen DX-Wrapper installiert?

napsterxx 25. Apr 2008 19:20

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
Nein, habe auch nichts darvon im Buch gelsen. Woher bekomme ich das?

mkinzler 25. Apr 2008 19:25

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
http://www.clootie.ru/delphi/index.html
http://www.abernichtdoch.de/xordx8/de/index.shtml

JasonDX 25. Apr 2008 19:27

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
Naja, die direct3d9-unit scheint er zu finden, also geh ich davon aus, dass er installiert sein sollte. In welcher Unit sollte der Record sein? IIRC ist der D3DXVector3 Teil der Direct3DX-libs. Gibts evt. eine Direct3dx9.pas, die eingebunden werden muss?

greetz
Mike

[Add]Müsste theoretisch die d3dx9-Unit sein, die noch eingebunden werden muss. Für alle, denen der selbe Fehler unterkommt...

napsterxx 25. Apr 2008 19:34

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
 
:duck:
Mein Fehler, hatte eine Unit vergessen von welcher ich nicht erwartet hatte das diese darfür nötig ist.
Demnach sit alles geklärt

Danke an alle


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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