Zitat von
Luckie:
Ah, so geht es. Ich hatte auch FPlugin fälschlicherweise nicht als IPluginInterface deklariert.
Jetzt fehlt mir nur noch, wie man vom Plugin auf eine Methode der Hostanwendung zugreifen kann. Das habe ich noch nicht so ganz verstanden. Das geht wahrscheinlich auch wieder über Interfaces. Aber wie mache ich das Interface im Plugin bekannt?
Das geht genauso.
Das Interface in beiden einbinden. Im Host also
Delphi-Quellcode:
type
TForm1 = class(TForm, ICanClosePlugin)
Im Plugin dann (Host as ICanClosePlugin).Machewas
Im Demobeispiel "SelfClose" ist ein ausprogrammiertes Beispiel, wie man vom Plugin auf den Host zugreift.
Hier lauert eine kleine Falle.
Das Plugin darf nicht als Antwort zerstört werden, da ja dann das Programm nicht weis, wohin zurück.
Deshalb wird hier Close erst angemeldet und später über einen Timer realisiert.
Gruß
Peter