Le point de départ de la technologie des plug-ins est principalement de permettre au logiciel d'étendre ses fonctions de manière flexible sans avoir besoin de recompiler et de publier le programme principal (programme-cadre). Son principe est assez simple. La fonctionnalité du logiciel est déterminée par des programmes-cadres et des plug-ins. Il existe une interface spécifique entre le programme-cadre et le plug-in, à travers laquelle ils doivent transmettre des données ou des informations de contrôle pour mettre en œuvre les fonctions logicielles. Par conséquent, tant qu’un programme (ou autre entité fonctionnelle) est conforme à cette interface, on l’appelle un plug-in du programme-cadre.
Les entités de plug-in sont généralement divisées en deux types : l'un est un programme contenant une logique, tel qu'une bibliothèque dynamique, un programme Exe, etc. ; l'autre est un ensemble d'informations de configuration. La première méthode est principalement utilisée dans les logiciels de dessin et les logiciels de lecture multimédia, et convient à la réalisation de fonctions complexes ; la seconde méthode est principalement utilisée pour réaliser la fonction Skin des logiciels et d'autres modules fonctionnels qui ne nécessitent pas de calculs complexes (il existe de nombreux jeux ). Les niveaux logiciels sont également implémentés de cette manière, comme Lianliankan d’Ada Software).
Cet article donne le programme-cadre et des exemples d'utilisation pour la gestion des Dll dans le processus d'implémentation du programme-cadre de plug-in Dll, comme base permettant aux lecteurs de concevoir des programmes de plug-in. Plus précisément, le programme-cadre doit remplir trois fonctions : le chargement du plug-in, l'appel de fonction et la désinstallation.
En fait, chaque programme du panneau de contrôle est un plug-in pour le système d'exploitation. Parce que chaque fichier .cpl est une Dll qui implémente une interface spécifique. Il en va de même pour le programme de service Windows, qui traite uniquement les messages Windows spécifiques basés sur le programme d'origine.
En fait, d'une manière générale, chaque programme exécuté sur le système d'exploitation est un « plug-in » du logiciel du système d'exploitation.
En fait, dans Delphi, il existe déjà un framework de gestion de plug-ins, qui est bpl. L'extension des fonctions par plug-in peut également être facilement réalisée à l'aide du package de composants bpl. Cependant, cette méthode présente un inconvénient : elle ne prend pas en charge le développement de plug-ins avec d'autres outils de développement (tels que vb, vc++).
)
Deux classes de base sont définies dans l'unité untDllManager :
TDll : la classe parent de toutes les classes Dll, fournissant les opérations liées au chargement et au déchargement ;
TDllManager : classe conteneur de la classe Dll. Prend en charge la désinstallation des entités Dll en supprimant des éléments.
Ce qui suit est un diagramme de classes :