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

Aktuelle Zeit: Fr Jul 18, 2025 07:57

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: dll einbinden?
BeitragVerfasst: Mo Jul 28, 2008 14:52 
Offline
DGL Member

Registriert: Mi Jul 02, 2008 13:27
Beiträge: 16
jetzt hab ich mal ne frage an dieses tolle forum bzw. deren user hier.

Wie binde ich eine x-beliebige dll ein, und nutze deren funktionen?

ist eine 3d engine, ich würd gern probieren einen wrapper zu schreiben.

für ein beispiel wäre ich dankbar...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jul 28, 2008 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also du kannst nicht jede X beliebige DLL einbinden. Du musst schon wissen was die DLL für eine Schnittstelle zur Verfügung stellt. C++ ist meines Wissens nach zum Beispiel auch in der Lage Variablen und Klassen zu exportieren. Das kann Delphi nicht also wird das dann ziemlich unmöglich. Genau so auch, wenn die DLL eine Methode exportiert die eine Klasse zurückliefert. C++ Klassen sind nicht mit Delphi Klassen kompatibel. Bzw nur bedingt aber das kann ich aus eigenen Erfahrungen wirklich absolut nicht empfehlen.

Von daher solltest du ein bisschen genauer werden. Also welche Engine bzw. wie sehen die Header der Engine aus?

Sonst hast du zu allem Übel auch noch die Wahl, dass du dich entscheiden musst wie du die DLL einbinden willst. DLL können statisch oder aber auch dynamisch eingebunden werden.

Beim statischen Einbinden erzeugt der Kompiler eine Liste mit Funktionen die die DLL exportieren muss. Wenn das nicht erfüllt ist, dann wird deine Anwendung nicht gestartet. Und du hast keine Möglichkeit auf so etwas zu reagieren. Das ist bei Funktionen der Windows API so. Und auch okay. Weil die Funktionen sollten dann einfach immer vorhanden sein.

Beim dynamischen Einbinden gehst du her uns sagst. Lade mir diese DLL und gibt wir die Funktionspointer von der, der und der Methode. Wenn etwas nicht funktioniert kann das Programm dann immer noch drauf reagieren. OpenGL wird normal dynamisch eingebunden, denn es kann sein, dass die ein oder andere Erweiterung gar nicht existiert. Dann weicht man auf eine Alternative aus oder deaktiviert ein bisschen was.


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 » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 18 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.006s | 14 Queries | GZIP : On ]