Verwendung von Klassen explizit geladener DLLs
-
Hallo,
ich weiß nicht, ob 'MFC mit dem Visual C++' die richtige Rubrik für meine Frage ist, aber alle anderen scheinen noch weniger passend...
Hier meine Frage: Ist es möglich als __declspec( dllexport ) deklarierte Klassen einer DLL in einer EXE zu verwenden, wobei die DLL explizit (sprich mit LoadLibrary() ) geladen wird? Aus einem bestimmten Grund möchte ich die *.lib-Datei der DLL beim Bau nicht linken.
Vielen Dank im voraus.
-
COM
-
Component Object Model
damit du dannach googlen kannst.
-
Ich habe es befürchtet...
...danke trotzdem
-
Warum? Magst du COM ned?
-
Ich habe COM schon sehr häufig verwendet, aber noch keine eigenen COM-DLLs erstellt. Ich glaube zwar nicht, dass das zu den schwierigsten Thematiken gehört (die MSDN bietet da sehr viele Artikel - als Microsoft eigenes Produkt), aber letztlich würde es die Verwendung meiner Klassen zu umständlich machen. Abgesehen davon stellt sich die Frage nach dem zeitlichen Aufwand, den ich betreiben muss.
Wenn dann aber mal die Zeit gekommen ist (schwelg...), werde ich auch eigene Interfaces programmieren. Die Frage bleibt dann nur, ob zu den Zeiten von .NET COM-Komponenten weiterhin verwendet werden oder mit dem .NET-Framework andere "ganz wunderbare" Microsoft-Techniken auf uns zukommen.
-
Möchtest Du Word oder Excel auf .NET-Basis sehen?
Also ich nicht. Denn was will ich mit einer Textverarbeitung mit 90% Features für verteilte Anwendungen?
-
Ist zwar nicht vorgesehen da man nur Funktionen mit LoadLib ansprechen kann aber geht doch
-
Das ist genau die Lösung die ich gehofft hatte zu finden! Vielen Dank!
Eine Frage habe ich trotzdem noch: Wie einfach kann ich nun im Client die Klasse A als Basisklasse weiterer Klassen verwenden und damit vor allem die virtuellen Funktionen überschreiben? Ist das auch möglich?So oder so hast Du mich aber schon sehr glücklich gemacht
-
Ich verwende keine Klassen mit LoadLib. Mein DLL welche Klassen exportieren Linke ich mit und sonst habe ich eine Klasse geschrieben welche mir Plugins (dll) Dyn lädt die zwar Klassen includiert haben aber nur 4 Funktionen exportiern. Deshalb kann ich dir das nicht sagen. Insbesonders da es nicht vorgesehen ist Klassen bei DynDLL zu exportieren.