Hallo,
Zitat von
tigerman33:
Ich war auch dabei, für eine Anwendung Plugins zu implementieren. (Liegt aber momentan auf Eis). Was mich da gestört hat, war, dass ich die Vorfahrklasse statisch, über eine
Unit, einbinden muss. Ändere ich die Vorfahrklasse, muss ich alle Plugins rekompilieren.
Meine PlugIns funktionieren mit Interfaces in einer
DLL. Geht eigentlich ganz einfach:
- Interface definieren
- In der DLL eine Klasse auf Basis des Interface implementieren und über eine Funktion exportieren (z. B. function LoadInterface: IMyInterface;).
- Im Hauptprogramm DLL laden, das Interface holen und damit arbeiten.
So kann jedes PlugIn das Interface mit den Eigenschaften füllen, die es braucht und das Hauptprogramm kann drauf zugreifen, da es ja die Schnittstelle (eben das Interface) kennt.
Gruß
xaromz