Vielleicht brauchen wir noch eine Begriffsklärung was ein Plugin überhaupt ist.
Ein
Plugin erfüllt eine öffentliche Schnittstelle (bestimmtes Interface oder auch eine Reihe von
DLL-Funktionen)
Diese Schnittstelle sollte so designt werden, dass sie sich während der Lebenszeit der Anwendung nicht mehr verändert.
Plugins können in (fast) jeder Programmiersprache erzeugt werden.
Die Hauptanwendung kann Plugins anhand bestimmter Kriterien (z.B. best. Verzeichnis oder Anhand der
COM-Kategorie) erkennen und im Prinzip beliebig viele Plugin dynamisch laden.
Ein
Anwendungsmodul (so will ich das mal nennen) ist dagegen ein Teilstück einer modularisierten Anwendung.
In .NET entspricht das einem
Assembly.
Jedes Anwendungsmodul hat seine eigene Schnittstellen die nicht öffentlich sind.
Während die Anwendung wächst können sich auch die Schnittstellen zu den Anwendungsmodulen verändern.
Anwendungsmodule müssen in der gleichen Entwicklungsumgebung erzeugt werden wie die Hauptanwendung.
Anwendungsmodule haben zwei Vorteile:
* man kann dem Benutzer best. Anwendungsmodule vorenthalten
* bei Bugfixes muss evtl. nur das Anwendungsmodul upgedatet werden
Ansonsten gibt es nur Nachteile für Delphi Programme.