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.
Mitglieder in diesem Forum: 0 Mitglieder und 12 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.