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

Aktuelle Zeit: Do Mär 28, 2024 17:40

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: DLLTools
BeitragVerfasst: Do Okt 14, 2004 10:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
DLLTools ist eine Toolkette mit der sich aus DLLs Delphi Units generieren lassen, mit denen die DLLs dann direkt im fertigen Executable liegen.
Ich habe eine Weile überlegt, ob ich dies als eigenes Projekt posten sollte (ursprünglich wollte ich nur die Imports von ODE und Newton online stellen), da

a) Das Prinzip und der Großteil der Arbeit nicht von mir sondern von Benjamin Rosseaux aus seinem BeRoPlayer Projekt stammt (ich habe das Ganze nur zusammengestellt und etwas verallgemeinert)

b) Das Projekt an sich nichts mit OpenGL zu tun hat, sondern hauptsächlich erfahrenere Programmierer ansprechen dürfte, denen es, ähnlich mir, ein Gräuel ist, diverse DLLs mit Programmen ausliefern zu müssen. Gerade bei ODE oder Newton kommt man z.B. kaum darum herum, da ein Programm zumeist mit einer bestimmten Version der DLL erstellt wurde, und sich diese Projekte auch laufend weiter entwickeln (abgesehen davon, dass die meisten Leute überhaupt keine Version dieser DLLs auf ihrem System liegen haben).

Da ich aber denke, dass es hier ein paar Leute gibt, die es interessieren dürfte - und die auch tatsächlich einen Nutzen davon haben, poste ich es dennoch.

Es geht also um eine Vorgehensweise, fast beliebige DLLs statisch zu linken - und dies ist auch die einzige Möglichkeit bestehende C/C++ Quellen, die man aus diesem oder jenen Grund nicht mit dem C++ Builder kompilieren kann, zuverlässig in ein Win32 Delphiprogramm zu integrieren, da Delphi gar viele etwas willkürliche Einschränkungen bezüglich der akzeptierten Objektstruktur hat, selbst wenn man diese mit einem Regentanz und einem Coff nach OMF Konverter (nicht dem von Delphi, der funktioniert nur für DLL Importbibliotheken) ins OMF-Format gebracht hat.

Die Toolkette kann hier heruntergeladen werden, die Vorgehensweise wird in der Readme erklärt, als Beispiele sind funktionsfähige Delphiunits für ODE und Newton dabei (zum Testen der Tools auch die entsprechenden DLLs, obwohl diese bei Nutzung der fertigen Bibliotheken natürlich nicht mehr benötigt werden).
http://www.basegraph.com/bg/instpack/DLLTools.zip

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 14, 2004 18:12 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Benjamin hat den DLLLoader.pas und dll2pas etwas umgeschrieben, sodass man direkt einen Importheader als zusätzlichen Parameter angeben kann, wodurch dann automatisch eine "fast korrekte" statische Importbibliothek erstellt wird, bei der man meist nur mehr die fehlenden (und nicht mehr benötigten) Initialisierungsroutinen aus dem Interface löschen muss - also einfacher geht es jetzt wirklich nicht mehr :wink: .
Die aktuelle Version kann immer noch unter dem obigen Link heruntergeladen werden.

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


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 » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 32 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.057s | 17 Queries | GZIP : On ]