AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben
Thema durchsuchen
Ansicht
Themen-Optionen

Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

Ein Thema von napsterxx · begonnen am 25. Apr 2008 · letzter Beitrag vom 25. Apr 2008
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:06
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'
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:09
Hast du einen DX-Wrapper installiert?
Markus Kinzler
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:20
Nein, habe auch nichts darvon im Buch gelsen. Woher bekomme ich das?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:25
http://www.clootie.ru/delphi/index.html
http://www.abernichtdoch.de/xordx8/de/index.shtml
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

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

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:27
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...
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 19:34

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
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 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