Der Ausgangspunkt der Plug-in-Technologie besteht hauptsächlich darin, Software eine flexible Funktionserweiterung zu ermöglichen, ohne dass das Hauptprogramm (Rahmenprogramm) neu kompiliert und veröffentlicht werden muss. Sein Prinzip ist ganz einfach. Die Funktionalität der Software wird durch Rahmenprogramme und Plug-Ins bestimmt. Zwischen dem Rahmenprogramm und dem Plug-In besteht eine spezifische Schnittstelle, über die sie Daten oder Steuerinformationen zur Implementierung von Softwarefunktionen übergeben müssen. Solange ein Programm (oder eine andere funktionale Einheit) dieser Schnittstelle entspricht, wird es daher als Plug-In des Rahmenprogramms bezeichnet.
Plug-in-Entitäten werden im Allgemeinen in zwei Typen unterteilt, die Logik enthalten, z. B. eine dynamische Bibliothek, ein Exe-Programm usw.; der andere ist ein Satz von Konfigurationsinformationen. Die erstere Methode wird hauptsächlich in Zeichensoftware und Medienwiedergabesoftware verwendet und eignet sich zur Realisierung komplexer Funktionen. Die letztere Methode wird hauptsächlich zur Realisierung der Skin-Funktion von Software und anderen Funktionsmodulen verwendet, die keine komplexen Berechnungen erfordern (es gibt viele Spiele). ). Auch Softwareebenen werden auf diese Weise implementiert, beispielsweise Lianliankan von Ada Software.
Dieser Artikel enthält das Rahmenprogramm und Anwendungsbeispiele für die Verwaltung von DLL bei der Implementierung des DLL-Plug-In-Rahmenprogramms als Grundlage für den Leser zum Entwerfen von Plug-In-Programmen. Insbesondere muss das Rahmenprogramm drei Funktionen ausführen: Plug-In-Laden, Funktionsaufruf und Deinstallation.
Tatsächlich ist jedes Control Panel-Programm ein Plug-in für das Betriebssystem. Denn jede .cpl-Datei ist eine DLL, die eine bestimmte Schnittstelle implementiert. Gleiches gilt für das Windows-Dienstprogramm, das nur bestimmte Windows-Meldungen auf Basis des Originalprogramms verarbeitet.
Tatsächlich ist im Großen und Ganzen jedes Programm, das auf dem Betriebssystem ausgeführt wird, ein „Plug-in“ der Betriebssystemsoftware.
Tatsächlich gibt es in Delphi bereits ein Plug-in-Verwaltungsframework, nämlich bpl. Mit dem bpl-Komponentenpaket lassen sich auch Plug-in-Funktionserweiterungen problemlos realisieren. Diese Methode weist jedoch einen Nachteil auf: Sie unterstützt keine Plug-In-Entwicklung mit anderen Entwicklungstools (z. B. vb, vc++).
)
In der Einheit untDllManager sind zwei Grundklassen definiert:
TDll: Die übergeordnete Klasse aller Dll-Klassen, die Lade- und Entladevorgänge bereitstellt.
TDllManager: Containerklasse der Dll-Klasse. Unterstützt die Deinstallation von DLL-Entitäten durch Löschen von Elementen.
Das Folgende ist ein Klassendiagramm: