Text in OpenGLcontrol

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Text in OpenGLcontrol

Beitrag von Mathias »

Das ist denn der TRect-Bug?

Code: Alles auswählen

dglOpenGL.pas(401,22) Error: Identifier not found "TRect"


Kompiliert mit Linux 64Bit. und FPC 3.1.1

Ich denke, mit FPC 3.1.1, wurde TRect in eine andere Unit verschoben,
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Re: Text in OpenGLcontrol

Beitrag von Frank Ranis »

Hallo ,

die Versionsverwaltung der dlgopengl.pas ist etwas verwirrend.
Überall im Unit-Kopf steht einfach nur V4.5 drinn , obwohl es ja diverse Unterversionen b/c/d gibt.
Hätte der gute Sascha Willems die Versions-Buchstaben und ein Datum noch dahinter geschrieben , wäre alles klar , nun ist es nur Chaos.

@Mathias
***********************************************************
* Noch mal meine Frage , läuft es nun unter LINUX ?? *
***********************************************************

Und dann brauch ich noch mal einen Tipp bez. Beleuchtung im Opengl .
Damit kämpfe ich immer rum und finde doch keine guten Einstellungen .
Also Lichtposition , Spot- und Materialeinstellung .
Gibt es da nicht mal Basiswerte , damit man alles gut erkennen kann ?

Was mir noch aufgefallen ist :
Seit etlichen Tagen funzt die http://www.delphigl.com nur noch zum Teil , hat einer ne Ahnung , was da los ist ?
Wird die Seite nicht mehr gepflegt ?

Und
im Anhang noch die aktuelle Version 1.1 des 'glyph_3d_viewer' .
Hier drinn , die hoffentlich aktuelle dglopengl.pas und die Änderungen bez. des Absolut-Pfades zu den TTF-Dateien.

Und noch ein Bild , das auch Grafik-Fonts (hier z.B. Glyph Index=90 des Windows-webdings.ttf) funzen.

Gruß

Frank
Dateianhänge
Grafik_Font_webdings.jpg
glyph_3d_viewer_V1_1.zip
(2.77 MiB) 163-mal heruntergeladen
www.flz-vortex.de

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Mathias hat geschrieben:
Google führt einen mit dem Suchbegriff "dglOpenGL 4.5" auf eine GitHub Seite auf der man die neueste Version herunter laden kann.

Das habe ich gerade gemacht, aber in dieser Version ist der TRect-Bug vorhanden.

Ich glaube nicht das es einen TRect-bug gibt. TRect ist in der Objects unit Deklariert, Wahrscheinlich wurde irgendwo vergessen diese einzubinden.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Text in OpenGLcontrol

Beitrag von Mathias »

Ich glaube nicht das es einen TRect-bug gibt. TRect ist in der Objects unit Deklariert, Wahrscheinlich wurde irgendwo vergessen diese einzubinden.

Das war so, früher war TRect direkt im Header deklariert, dies wurde aber unterdessen entfernt, weil FPC ein eigenes TRect hat. Ich habe im neusten Header im Uses-Klausel noch ein Types bei fpc eingefügt.
Ich habe dies am Autor vom Header gemeldet. ich hoffe, das er dies anpasst. Ich will nicht unbedingt in sein GITHUB reinpfuschen.

Was mir noch aufgefallen ist :
Seit etlichen Tagen funzt die http://www.delphigl.com nur noch zum Teil , hat einer ne Ahnung , was da los ist ?
Wird die Seite nicht mehr gepflegt ?

Ich komme problemlos rein, auch die letzten Tage. Das Problem, das in diesem Forum nichts läuft, sind die User selbst, anscheinend will momentan niemand mehr was mit OpenGL machen. Wen man aber selbst etwas reinschreibt, bekommt man meistens inner eines Tages trotzdem Antwort. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Mathias hat geschrieben:Das war so, früher war TRect direkt im Header deklariert, dies wurde aber unterdessen entfernt, weil FPC ein eigenes TRect hat.

Also die Objects unit ist mir nur so spontan eingefallen, tatsächlich ist sie ja teil von FreeVision. TRect ist in der unit Classes deklariert. Aber egal, mich würde mal interessieren welche dglOpenGL Version du eigenlich meinst? Ich kenne nur die Version 2.0 und 4.5, aber auch in der 2.0er kann ich keine TRect Deklaration finden.

Edit:
Bezüglich der Erreichbarkeit von delphigl.com, die ich seit Jahren immer wieder besuche, habe ich bislang noch nie Probleme gehabt.

Mathias
Beiträge: 6164
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Text in OpenGLcontrol

Beitrag von Mathias »

Aber egal, mich würde mal interessieren welche dglOpenGL Version du eigenlich meinst?

Von der Version 4.5 schwirren schon etwa 4 Versionen im Netz umher.

Das Hauptproblem von dglOpenGL ist, das es für verschiedene Delphi und Lazarus - Versionen kompatibel sein muss. Man beachte die vielen Kompilerschalter in der Unit.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Mathias, mit welchem Betriebsystem arbeitest du?
Ich verwende meist Linux, selten Windows. Aber jetzt hab ich mal das Beispiel von Frank Ranis auf Windows 10(64) laufen lassen, da fehlt TRect komischerweise nicht. Also ist TRect unter Linux wo anders Deklariert!? Eine eigene TRect Klasse Deklarieren? Ich würde da eher Bedingt die Classes unit einbinden, zB. hier

Code: Alles auswählen

 
uses
  {$IFDEF FPC}{$IFDEF DARWIN}dynlibs,{$ENDIF}{$ENDIF}  // LoadLibrary functions
  SysUtils
  {$IFDEF DGL_WIN}, Windows{$ENDIF}
  {$IFDEF DGL_64BIT} ,math {$ENDIF}
  {$IFDEF DGL_LINUX}, Classes, X, XLib, XUtil{$ENDIF}
  ;
 

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Das mit dem TRect hat mir jetzt keine ruhe gelassen und habe die dglOpenGL durchforstet. Es gibt eine einzige Deklaration in Zeile 401, diese wird aber nie verwendet (kann man also getrost aus Kommentieren). Also keine eigene Deklaration erforderlich und auch keine Classes unit.
Stutzig geworden bin ich deshalb, weil es unter Windows ja funktioniert. Klar, die Windows API bringt ja einen TRect type mit, der ist aber zum FPC TRect absolut Inkompatibel weil Windows TRect = record und FPC TRect = object.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Text in OpenGLcontrol

Beitrag von wp_xyz »

Jole hat geschrieben:Klar, die Windows API bringt ja einen TRect type mit, der ist aber zum FPC TRect absolut Inkompatibel weil Windows TRect = record und FPC TRect = object.

Was? Lass mal FreeVision außen vor!. Normale FPC-Windows-Programme haben TRect = Types.TRect in Classes, und TRect = Windows.TRect in Types (bzw. als Record Left, Top, Right, Bottom: LongInt falls kein Windows).

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Was? Lass mal FreeVision außen vor!.

Au man, stimmmt! TV und FV sitzen irgendwie zu tief, ich bin davon ausgegangen (ohne es zu überprüfen) das die TRect Deklaration in der Classes unit die gleiche ist. Ok, mein Fehler!

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Text in OpenGLcontrol

Beitrag von marcov »

wp_xyz hat geschrieben:
Jole hat geschrieben:Klar, die Windows API bringt ja einen TRect type mit, der ist aber zum FPC TRect absolut Inkompatibel weil Windows TRect = record und FPC TRect = object.

Was? Lass mal FreeVision außen vor!. Normale FPC-Windows-Programme haben TRect = Types.TRect in Classes, und TRect = Windows.TRect in Types (bzw. als Record Left, Top, Right, Bottom: LongInt falls kein Windows).


Das ist so in 3.0.2+. In 3.0.0 und älter sind Types und Windows unterschiedliche Definitionen.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Text in OpenGLcontrol

Beitrag von wp_xyz »

Ich verwende Laz trunk mit FPC 3.0. Habe in den Quelltext eines neuen Projekts "var R: TRect" geschrieben, auf TRect CTRL-geklickt, was mich zu classes mit "TRect = Types.TRect" brachte. CTRL-Click auf diesem TRect führte dann zu types mit "TRect = Windows.TRect" brachte.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Text in OpenGLcontrol

Beitrag von marcov »

wp_xyz hat geschrieben:Ich verwende Laz trunk mit FPC 3.0. Habe in den Quelltext eines neuen Projekts "var R: TRect" geschrieben, auf TRect CTRL-geklickt, was mich zu classes mit "TRect = Types.TRect" brachte. CTRL-Click auf diesem TRect führte dann zu types mit "TRect = Windows.TRect" brachte.


Ich habe mal nagesehen. Fuer TRect/Tpoint/tsize war das schon lange her getan. Fuer tsmallpoint ist das neu.

Aber dann min ich mir kein TRect problem bewusst? Declarieren ältere dglopengl versionen es manuel oder so?

Hmm, ja: https://delphigl.com/forum/viewtopic.ph ... 195#p99923

Frank Ranis
Beiträge: 201
Registriert: Do 24. Jan 2013, 21:22

Re: Text in OpenGLcontrol

Beitrag von Frank Ranis »

Hallo ,

ich weis nicht , warum hier so lange über dlgopengl.pas und TRect diskutiert wird.

Mathias hat die aktuelle dlgopengl.pas hier hochgeladen , diese scheint ja unter Linux zu laufen und ich habe sie auch benutzt , also unter Windows läuft sie auch .
Damit ist für mich das Thema dlgopengl.pas durch.

Was mich aber ein wenig ansäuert:
Ich habe mehrfach , eine ganz einfache Frage gestellt ' Läuft mein Demoprogramm nun unter Linux ?' .
Und ich bekomme einfach keine Antwort , mir scheint , der Frage wird ausgewichen.

Würde da ja noch etwas Zeit investieren , um es bis zur kompletten Textausgabe weiter zu bauen.
Habe da die letzten 6 Wochen drann gesessen um eine Lösung zu schaffen , die einzig der Linux-Welt zu Gute kommt.

Wenn das Prog aber nicht unter Linux zu laufen zu bekommen ist , dann brech ich hier einfach ab und benutzet für meine Programme mit OpenGl und Texten die alte Windows basierte Variante .
Dann habe ich den Kopf wieder für andere Projekte frei.

Gruß

Frank
www.flz-vortex.de

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Text in OpenGLcontrol

Beitrag von Jole »

Frank Ranis hat geschrieben:Was mich aber ein wenig ansäuert:
Ich habe mehrfach , eine ganz einfache Frage gestellt ' Läuft mein Demoprogramm nun unter Linux ?' .
Und ich bekomme einfach keine Antwort , mir scheint , der Frage wird ausgewichen.

Also bei mir läuft dein Demo unter Linux Mint 18.1(64) absolut fehlerfrei. Das einzige Problemchen wurde ja gelöst.

Antworten