Die Sache mit DLLs und Klassen
-
Hi,
wie läuft das Dynamische laden von DLLs mit Klassen ab? Wie kann man das bewerkstelligen?
-
Was genau ist jetzt deine Frage?
-
Wie kann ich eine Klasse aus einer DLL Dynamisch laden? Nicht statisch!
-
Klassen über DLL-Grenzen hinweg zu nutzen ist eine nicht ganz ungefährliche Sache

-
Guck dir das Compontent Object Model an.
Dann weißt du es.
-
naund? Für meine Engine brauch ich das, also wie gehts? die FAQ spuckt nix aus und Forensuche ist off.
-
Schau dir an, wie es die MFC macht. Das ist das einzige mir bekannte Beispiel, wo du wirklich nachschauen kannst, wie es gemacht wurde. Im Prinzip ist nix besonderes dahinter. Du musst halt einfach nur die gleichen Headerfiles für's Compilieren der DLL und der EXE hernehmen und mit irgendwelcher Makrotrickserei das __declspec(dll**port) richtigbekommen.
Wenn du sie dann aber auch noch dynamisch laden willst, dann musst du dir wirklich was schlaues überlegen. COM wäre eine Variante, hat aber natürlich auch seine Tücken und Einschränkungen.
-
moin meister ...
wenn du COM nicht willst, bleibt Dir noch die Möglichkeit
Für jede Klasse eine Funktion
C* initC();
und
uninit(pC);in der Dll unterzubringen. Die Dll kann dynamisch erzeugt werden und die Objekt
instanziert, über pC->Methode() im Prg verwendet werden.Was anderes fällt mir zu auch nicht ein.
MfG
RB
-
Voraussetzung ist allerdings dann, dass alle Methoden virtual sind.
-
im prinzip funzt das so wie in diesem tutorial.
kann man natürlich auch dazu verwenden ein plugin system zu implementieren...
-
gelöscht :p