vorteil von dlls
-
hallo,
was ist der vorteil von dlls?danke
-
http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vccore/html/_core_The_Advantages_of_Using_DLLs.asp
Durch DLL Dateien ist es auch möglich ein Interface in deinem Programm zu schaffen das PlugIns unterstützt.
-
Sagen wir mal du machst eine DLL mit vielen GraphicFunktionen, die in deinem Paint Programm dann zur Verwendung kommen und die heißt z.B. grfu.dll, nun entwickelst du ein anderes Programm, das einige Funktionen aus dieser DLL benutzen soll, so giebst du diese DLL mit, nun kommt eine neue Version deines Paint Programm mit mehr möglichkeiten und der Update überschreibt dein Programm und diese DLL, die DLL selbst wurde optimiert (Bugs entfernt, besser, schneller, etc.) und erweitert, aber die alten Funktionen sind mit ihrem Aufruf gleich, nur halt optimiert. da im System jetzt eine neue Version der DLL vorhanden ist, aber abwärts kompatibel kann sowohl das neue Paint diese mit den neuen Funktionen verwenden, als auch dein anderes Programm mit den alten.
Das zu einem. Zum zweiten:
Du hast ein umfangreiches Programm mit vieleicht 8623 Funktionen, diese brauchst du aber nicht alle auf einmal, sondern nur bei anforderung, also wenn diese Funktionen in 20 (DLLs) Kategorien aufgeteilt sind, kannst du die DLL dynamisch hinzu laden bei verwendung, wenn alles in einem wäre, so würde die Speicher anforderung zu groß sein.
-
Wie läuft sowas mit den PlugIn denn ab ?
Man stellt Funktionen, in Abhängigkeit zur vorhandenen
DLL, zur Verfügung und lässt den User auswählen was
aktiv geschaltet werden soll, wenn DLL vorhanden ?
-
Newbie23 schrieb:
Wie läuft sowas mit den PlugIn denn ab ?
Man stellt Funktionen, in Abhängigkeit zur vorhandenen
DLL, zur Verfügung und lässt den User auswählen was
aktiv geschaltet werden soll, wenn DLL vorhanden ?Das hast du etwas falsch aufgenommen,
du kannst Plugins unterstützen, wenn du z.B. so ne art eigene Scriptsprachen Schittstelle anbietest, wobei Grundfunktionen aus deinen DLL´s verwendet werden. Weiter kannst du auch diese Unterstützung in eine DLL packen, so das diese unabhängich vom Programm weiter entwickelt werden kann, ebenso kann diese Script-Plugin-Sprache so ausgelegt werden das diese eigene Funktionen mit einbindet, und diese stecken wieder in eine DLL des Plugins.
Wenn in dieser Plugin-Sprache z.B. stehtMyPlugin want Extern Lib; Load DLL Dynamic Phat= "meinedll.dll"; BEGIN extern defs; extern on DLL::SchreibeTextVonHintenNachVorn(string); END extern defs; ...bla bla bla....So braucht dein Scrip Parser nach lesen dieses Abschnittes, bzw. bei Verwendung diese DLL zu laden und diese Funktion aufzurufen.
-
Du erstellst ein Interface (mit Hilfe von einer Abstrakten Klasse), diese Schnittstelle müssen alle DLL Dateien implementieren. Nun lädst du nur noch die DLL Dateien beim start automatisch und kannst nun die Funktionen in der DLL nutzen. Hatte mal vor einiger Zeit hier im Forum ein Link gepostet der ein Beispiel enthält.