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

Aktuelle Zeit: Do Jul 19, 2018 20:26

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So Apr 01, 2018 21:26 
Offline
DGL Member

Registriert: Fr Mär 30, 2018 11:44
Beiträge: 1
Programmiersprache: C++
Hallo Delphi-Gemeinde,

ich arbeite zur Zeit an einer legacy-Applikation (VCL) für den Embarcadero C++ Builder. Zur grafischen Anzeige wird der mitinstallierte gl.h Header verwendet, der nur OpenGL 1 Funktionen bietet. Sämtliche Versuche einen moderneren C++ Header einzubinden blieben aufgrund des bcc32-Compilers erfolglos.

Als Alternative versuche ich nun den Delphi-Header zu nutzen. Habe dazu mir die Trial des RAD-Studios gehohlt um den dglOpenGL.pas Header in eine .hpp umzuwandeln und dann diesen zu verwenden. Laut Embarcadero sollte das möglich sein:
Zitat:
You can add any .pas file to a C++ project. (C++Builder has supported adding Pascal files into a C++ project for many years, since at least CB2006.) When you add a Pascal file and build the C++ project, the .pas files are built before any C++ files, and the Delphi compiler auto-generates a C++ header with a .hpp extension. This is exactly the same as the headers for the VCL or FMX! This allows C++ code to refer to Delphi classes and types, completely unaware they are not implemented in C++, and at link time the Delphi code is linked in to C++ code.

Bekomme aber leider auch mit dieser Methode 50+ Compiler Fehler beim Lesen der hpp. Meine Kenntnisse in Delphi sind leider beschränkt. Ist es überhaupt möglich was ich vorhabe, bzw. hat es einer von euch schon versucht/geschafft OpenGL mit Delphi innerhalb einer C++-Anwendung (VCL) zu nutzen?


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So Apr 01, 2018 22:14 
Offline
Compliance Officer
Benutzeravatar

Registriert: So Aug 08, 2010 08:37
Beiträge: 453
Programmiersprache: C / C++ / Lua
Du willst halt nicht die Pascal Header in C Header umwandeln, sondern die offiziellen C Header von OpenGL nutzen und dich selbst um die Erstellung des Rendering Contextes kuemmern.

Wie das bei alten VCL Projekten funktioniert, weiss ich leider nicht, aber ich vermute es ist bloss rumgefummel mit der Win32 API - google nach wie man das unter generischen Windows Anwendungen tut.

https://www.khronos.org/registry/OpenGL/index_gl.php

Selbstverstaendlich kannst du auch probieren epoxy oder sowas unter dem bcc32 zum laufen zu kriegen:

https://github.com/anholt/libepoxy

(Sind immer aktuell, weil aus den offiziellen XMLs von Khronos generiert)

_________________
offizieller DGL Compliance Beauftragter
Never run a changing system! (oder so)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Apr 03, 2018 11:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 14, 2013 21:17
Beiträge: 552
Programmiersprache: C++
Du kannst auch glLoadGen benutzen, um deinen OpenGL-Header zu generieren. Da kannst du verschiedene C- und C++-Stile einstellen und ausprobieren, womit der C++-Builder am besten klarkommt. Ich würde mit "-style=pointer_c" beginnen. Auch für moderne Compiler ist glLoadGen derzeit mein Liebling was OpenGL-Loader angeht.

_________________
So aktivierst du Syntaxhighlighting im Forum: [code=pascal ][/code], [code=cpp ][/code], [code=java ][/code] oder [code=glsl ][/code] (ohne die Leerzeichen)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.014s | 17 Queries | GZIP : On ]