Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Mär 28, 2024 11:53

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Win10 Problem mit HWND?
BeitragVerfasst: Fr Mär 03, 2017 21:18 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Hallo allerseits, (lange ist's her, dass ich mich gemeldet hab^^)

EDIT: Hat sich erledigt. Der Bug wurde stattdessen irgendwie von GetTickCount verursacht. Nach einem ganzen Abend debuggen, hat ein Neustart das Problem gelöst...

ich habe gerade ein Kompatibiltätsproblem auf einem anderen Rechner (Windows 10 Tablet). Dort erhalte ich beim Start der Anwendung einen Range check error von TApplication.
Ungefähr so wie in dem Post hier: http://forum.lazarus.freepascal.org/index.php?topic=12946.0
Dort wird empfohlen auf die OpenGL Lazarus Komponente umzusteigen. Das habe ich versucht, aber erhalte dann eine Error beim ersten Aufruf einer opengl Methode.
Mein Code vorher:
Code:
  1. GraphicDevice:=GetDC(AForm.Handle); // Initalisierung von Open GL auf der Form.
  2.   //RenderingContext:=CreateRenderingContextVersion(GraphicDevice,[opDoubleBuffered],3,0,false,32,24,0,0,0,0);
  3.   RenderingContext:=CreateRenderingContext(GraphicDevice,//Device Contest
  4.                              [opDoubleBuffered], //Optionen
  5.                              32,          //ColorBits
  6.                              24,          //ZBits
  7.                              0,          //StencilBits
  8.                              0,          //AccumBits
  9.                              0,          //AuxBuffers
  10.                              0);         //Layer
  11.   ActivateRenderingContext(GraphicDevice, RenderingContext);

Dieser Code läuft einwandfrei auf meinem eigenen Rechner (Win8). Aber verursacht den Range-Check Error auf einem Win10 Tablet.

Das ganze habe ich dann ersetzt durch folgenden Code:
Code:
  1. lazOGL:=TOpenGLControl.Create(AForm);
  2.     with lazOGL do begin
  3.       Name:='OpenGLControl1';
  4.       Align:=alClient;
  5.       Parent:=AForm;
  6.       AutoResizeViewport:=false;
  7.     end;

Dann erhalte ich aber beim ersten Aufruf einer OpenGL Methode einen External Error. (Im Endeffekt direkt nach dem obigen Code).
Code:
  1. glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, @cmeMaxAnisoLevel);


Ist die Lazarus Componente nicht mit dglopengl.pas kompatibel? (ich würde eigentlich lieber weiterhin den dglopengl header verwenden)
Oder gibt es eine andere Möglichkeit diesen Range Check Error zu umgehen bzw. eine state of the art variante um den OpenGL Context zu
initialisieren?

Vielen Dank im Vorraus.
Gruß Knittel

P.S. Bis vor kurzem hat die Anwendung noch auf dem Win10 Tablet funktioniert, jetzt funktionieren weder alte (die schonmal auf dem Tablet liefen) noch neuere Version von meinem Programm. Kann da ein Windows Update irgendwas verändert haben?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Win10 Problem mit HWND?
BeitragVerfasst: So Mär 05, 2017 22:29 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1276
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Ist die Lazarus Componente nicht mit dglopengl.pas kompatibel?

Diese arbeiten sehr gut miteinander, es muss nur richtig initialisiert werden.
Die Lazarus eigenen Header sind sehr veraltet.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 31 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.063s | 17 Queries | GZIP : On ]