Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL - Exception bei Ausführen... (https://www.delphipraxis.net/9675-opengl-exception-bei-ausfuehren.html)

J_M 1. Okt 2003 15:13


OpenGL - Exception bei Ausführen...
 
Hallo Leute,

ich fange gerade an, mich mit OpenGL auseinander zu setzen und dachte - schlau wie Schlange - an ein Tutorial.

Ich habe das von Mr_T genommen, was ich bis zum zweiten Teil nachgemacht habe. Aber das Programm stürzt immer beim Ausführen ab.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.myDC := GetDC(Handle);    // DC: Device Context
SetupPixelFormat;
myRC := wglCreateContext(myDC);
wglMakeCurrent(myDC, myRC);
glEnable(GL_DEPTH_TEST);       //<--- Exception wird ausgelöst!
glLoadIdentity;
end;
Davor findet nur Delkaration statt...:

Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, opengl15, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
    myDC: HDC;
    myRC: HGLRC;
    myPalette: HPALETTE;
    procedure SetupPixelFormat;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
Kann mir irgendjemand sagen, was ich falsch mache? Bei anderen funktioniert es ja...

Mr_T 1. Okt 2003 20:18

Re: OpenGL - Exception bei Ausführen...
 
Jup, kann ich :-)
Das Problem liegt darin, dass in meinen Tuts die Opengl.pas verwendet wird
(die Bei Delphi selber mit bei ist), du aber in deinem Source die Opengl15.pas
von www.delphigl.com verwendest ... der Unterschied ist nun, dass du an dieser
Stelle
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
    <-- Hier!
form1.myDC := GetDC(Handle);  
SetupPixelFormat;
myRC := wglCreateContext(myDC);
wglMakeCurrent(myDC, myRC);
glEnable(GL_DEPTH_TEST);    
glLoadIdentity;
end;
einmal die Prozedur "LoadOpenGL;" aufrufen musst, damit die OpenGl-Unit die ganzen
Prozeduradressen aus der Opengl32.dll lädt ... denn sollte es gehen...

(dementsprechend am Ende des Progies einmal "UnloadOpenGL;" aufrufen)

Ich hoffe, das hilft weiter....

J_M 2. Okt 2003 07:03

Re: OpenGL - Exception bei Ausführen...
 
Juhu!! ich sehe einen schwarzen Bildschirm... Ich wußte gar nicht, dass man sich darüber freuen kann.

Danke!


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