DLL explizit binden
-
Hallo
Ich habe mir nach diesem Thread eine DLL erstellt
[url]
http://www.codeproject.com/dll/beginnerdll.asp
[/url]Diese habe ich aus folgendem Grund gewählt, weil ich doch gern Klassen in meiner DLL verwenden würde.
Jetzt gefällt mir die Methode der Impliziten Bindung aber nicht, da ich die erst gern laden würde, wenn ich sie auch wirklich brauche.
Ich hatte das mal an Hand von Beispielcode aus dem Inside Visual C++ Buch versucht, aber das Problem ist, dass er bei GetProcAdress auf die Klappe fällt, weil er die Methode der Klasse nicht finden kann.
Hat jemand Beispielcode wie ich das mit Klassen in der DLL explizit binden kann?
Danke euch
-
Schau mal unter http://members.inode.at/anton.zechner/az/index.html im Abschnitt DLL's
-
Hi
Ich glaub du müsstet die Linkernamen der Klassen verwenden.
Die könntest du mit dem Tool Depends.exe aus VisualStudio 6.0 abfragen.
-
Wenn Du ganze Klassen bindes, dann kannst Du explizites Laden vergessen, zumndest wenn Du ganze Klassen exportierst.
Einfacher ist hier das Interface Model, dass auch COM verwendet.
Du hast eine Funktion, die Dir einen Interface Zeiger returniert (komplett virtuele Klasse) und eine Funktion, die diesen Zeiger wieder entsorgt.
Dadurch wird die Kappselung perfekt und das Interface einfach!
-
jo, vielen dank an euch alle
