Dlls
-
Danke Luckie
Zu 1):
muss ich jede Methode einzeln als export declarieren oder kann ganz die ganze klasse als export declarieren
und wieso sollte man das nicht?
Tut zum Thema wäre sehr hilfreich
-
--- schrieb:
und wieso sollte man das nicht?
Afaik musst du dann eben alles mit dem selben Compiler machen, sonst gibt es Probleme / funktioniert nicht. Wenn dir das aber egal ist, dann wüsste ich jetzt nicht, warum man es nicht machen sollte

-
__declspec(dllexport) class Alpha { . . . };
-
ok danke
-
Doch noch ne kleine Frage:
Wie lade ich dann die Klasse
Ich meine bei Functionen ist es anscheinend GetProcAdress aber bei Klassen ?
-
mach ne funktion die ein zeiger auf ein objekt zurückgibt!
Alpha* CreateAlpha() { return new Alpha(); }
-
@alpha woher weis dann der client code wie die definition von alpha aussieht?
besser fände ich eine abstrakte basisklasse in deinem code in etwa so.
// base.h class Base { virtual void DoIt() = 0; }; // dll.h class Foo : public Base { void DoIt() { } }; extern "C" __declspec(dllexport) void GetPlugin(Base **ppOutput) { *ppOutput = new Foo; }
-
ich meinte es so wie du es geschrieben hast. danke.
-
Achsoooo
-
"abstrakte Basisklasse"??
könnte mir das jemand erklären?
reicht es nicht ein header für die dll zu haben?