Registriert: Mo Okt 22, 2007 09:00 Beiträge: 22 Wohnort: Ilmenau
Hi alle zusammen,
ich glaub, ich hab grad gewaltig ein Brett vorm Kopf und bekomm einfach das OpenGL nicht in mein Delphi 2009 (Professional SSL Version) rein.
Wollte vorhins mal wieder bissl programmieren, und habe dazu das DGLSDK installiert. Sonst (in TurboDelphi) lief das dann auch schon (bis auf paar Vista-Macken, hab aber momentan jetzt XP ).
Nur irgendwie kreidet mir Delphi die ganze Zeit "uses [...] DGLOpenGL, glBitmap;" an, mit der Bemerkung, die DGLOpenGL.dcu bzw. glBitmap.dcu (wenn ich die Reihenfolge vertausch) seien nicht vorhanden.
Kann mir bitte jemand verraten, wie ich Delphi dazu bekomme, die Units ordentlich einzubinden? Hab grad irgendwie keinen Plan von nix mehr Danke schon im Vorraus
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Komisch. Sieht aus als denke dein Delphi, es handle sich um Forumulare. DCUs sind doch die Dinger die rauskommen, wenn Delphi Formulare kompiliert. Eventuell kannst du abhilfe schaffen, indem du die als DGLOpenGL.pas einbindest (mit Endung). Ist aber nur eine Vermutung.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Okt 22, 2007 09:00 Beiträge: 22 Wohnort: Ilmenau
"Datei nicht gefunden: DGLOpenGL.pas.dcu" ^^
Aber soweit ich weiß sind die DCU die kompilierten Unit-Dateien ("Delphi Compiled Unit" wohl), die Delphi immernoch dazu auspuckt, wenn man das Projekt startet. (Formulare sind .dfm, laut meinem Projektverzeichnis )
Wenn ich testweise die DGLOpenGL.pas und glBitmap.pas direkt in mein Projekt einfüge, dann werden die normal genommen, und es wird kompiliert (bzw meckert er dann rum, dass Char und AnsiChar nicht passen, was zu erwarten war, weil das Projekt noch aus TurboDelphi stammt).
Habe den Pfad, wo die beiden .pas-Dateien liegen, auch mal in den Delphi-Optionen in den Suchpfad aufgenommen, was zumindest in TurboDelphi dazu geführt hatte, dass die Units erkannt wurden (damals lag die glBitmap noch getrennt). Es kommt aber weiterhin die Meldung, die .dcu's seien nicht vorhanden
Registriert: Mo Okt 22, 2007 09:00 Beiträge: 22 Wohnort: Ilmenau
Kannst du mir sagen, welchen Ordner genau ich wo eintragen muss?
Habe nun den Lib-Ordner des DGLSDK-Ordners in den Bibliothekspfad aufgenommen (ist das richtig? Da sind immerhin die .pas drin), nun erkennt er auch die DGLOpenGL.pas als solche, meckert aber in einer ZLib, dass er eine LibC.dcu nicht finden könnte...
Registriert: Mo Okt 22, 2007 09:00 Beiträge: 22 Wohnort: Ilmenau
Habe nun mal nach der ZLib gesucht (die eben versucht, die LibC einzubinden) und habe sowohl eine im DGLDSK-Lib-Ordner, als auch im Delphi09-Ordner selbst gefunden. Nachdem ich testweise die ZLib des DGLSDK umbenannt habe, scheint nun alles zu laufen (zumindest kompiliert ein leeres Testprojekt mit der DGLOpenGL).
Musste nur feststellen, dass weder die glBitmap noch die TextSuite Delphi2009-kompatibel sind (Unicode und dessen Folgen, was aber eigentlich auch zu erwarten war). Ist wohl doch das beste, wenn ich ein Zweit-Delphi drauflade (glaub nen D7 fliegt hier noch irgendwo rum, ansonsten TD)...
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
DGLSDK: Ich kann dir nur empfehlen die dglOpenGL und die glBitmap noch mal von Hand zu aktualisieren. Das SDK hat es nicht zur Aufgabe vollständig aktuell zu sein sondern eben eher eine größeren Umfang an Units zu bieten. Eventuell löst das bereits das ein oder andere Problem.
Was Unicode angeht kann ich i0n0s nur zustimmen. Ohne Input von Außen wird sich daran auch nichts ändern können. Ich habe kein Delphi 2009. Und werde es auch sobald nicht haben. Wobei ich da allerdings schon eine Ahnung habe was da zum Problem werden könnte.
PS: Bei der TextSuite könnte es eventuell auch schon ausreichen, wenn du das Define TS_EXTERN_STATIC in der TextSuite.inc aktivierst. Damit würde er dann die beiliegende dll benutzen. Dann sind eventuelle Strings komplett in der DLL. Die Schnittstelle arbeitet ja eh nur mit pWideChar oder pAnsiChar.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Die sache mit der ZLib ist mir auch passiert. Wenn ich mich recht erinnere, darf man nur eine der beiden Versionen verwenden, anscheinend hast du die richtige gewählt. Er hats bei mir auch erst verwechselt.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Mo Okt 22, 2007 09:00 Beiträge: 22 Wohnort: Ilmenau
dglOpenGL: Habe mir nun die neueste Version der dglOpenGL.pas runtergeladen, und bis auf 341 Warnungen ("Implizite String-Umwandlung mit potenziellem Datenverlust von 'string' zu 'AnsiString'") lies sie sich nun ohne Probleme einbinden. Das Problem hier wird sein, dass "String" in D2009 ein WideString ist, die betreffenden Funktionen aber AnsiStrings erwarten. Keine Ahnung, ob ein stures Ersetzen von "String" mit "AnsiString" die Warnungen beseitigen können.
glBitmap: Da mir bekannt war, dass die Version in dem DGLSDK-Paket veraltet ist, hatte ich hier von anfang an die neueste verwendet.
Das Problem hiermit ist, dass die glBitmap.pas anscheinend mein Delphi nicht als solches erkennt. Warrnung: "No delphi compiler was found. Define Delphi will not activated.", dadurch werden auch die Methoden mit TBitmap nicht unterstützt, zB TglBitmap.AssignFromBitmap(TBitmap);
Des weiteren konnte ich noch Warnungen entdecken, wenn GLB_NO_NATIVE_GL auskommentiert bleibt:
"[DCC Warnung] glBitmap.pas(1102): W1050 WideChar in Set-Ausdrücken auf ByteChar verkürzt. Ziehen Sie die Verwendung der Funktion 'CharInSet' aus der Unit 'SysUtils' in Betracht."
in den Zeilen 1102, 1103, 1106, 1132
(Da wird immer mit "in" geprüft, ob ein Character numerisch oder ein Buchstabe ist)
(Wird GLB_NO_NATIVE_GL definiert, verschwinden diese Meldungen, trotzdem wird weiterhin das Delphi2009 nicht als solches erkannt)
TextSuite: Das setzen dieser Definition hat tatsächlich etwas gebracht: Wo vorher etliche Warnungen waren, ist nun stilles Schweigen angesagt. (Hab es zwar noch nicht direkt testen können, aber ein Testprojekt kompiliert jedenfalls normal durch, von den Bemerkungen oben abgesehen)
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.