Das ist denn der TRect-Bug?
Code: Alles auswählen
dglOpenGL.pas(401,22) Error: Identifier not found "TRect"
Ich denke, mit FPC 3.1.1, wurde TRect in eine andere Unit verschoben,
Das ist denn der TRect-Bug?
Code: Alles auswählen
dglOpenGL.pas(401,22) Error: Identifier not found "TRect"
Ich glaube nicht das es einen TRect-bug gibt. TRect ist in der Objects unit Deklariert, Wahrscheinlich wurde irgendwo vergessen diese einzubinden.Mathias hat geschrieben:Das habe ich gerade gemacht, aber in dieser Version ist der TRect-Bug vorhanden.Google führt einen mit dem Suchbegriff "dglOpenGL 4.5" auf eine GitHub Seite auf der man die neueste Version herunter laden kann.
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 glaube nicht das es einen TRect-bug gibt. TRect ist in der Objects unit Deklariert, Wahrscheinlich wurde irgendwo vergessen diese einzubinden.
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.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 ?
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.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.
Von der Version 4.5 schwirren schon etwa 4 Versionen im Netz umher.Aber egal, mich würde mal interessieren welche dglOpenGL Version du eigenlich meinst?
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}, [b]Classes[/b], X, XLib, XUtil{$ENDIF}
;
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).
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!Was? Lass mal FreeVision außen vor!.
Das ist so in 3.0.2+. In 3.0.0 und älter sind Types und Windows unterschiedliche Definitionen.wp_xyz hat geschrieben: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).
Ich habe mal nagesehen. Fuer TRect/Tpoint/tsize war das schon lange her getan. Fuer tsmallpoint ist das neu.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.
Also bei mir läuft dein Demo unter Linux Mint 18.1(64) absolut fehlerfrei. Das einzige Problemchen wurde ja gelöst.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.