Thema: Delphi Plugin-System fragen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.260 Beiträge
 
Delphi 12 Athens
 
#17

Re: Plugin-System fragen

  Alt 27. Mai 2010, 13:16
Das Objekt hinter dem Interface IDockWindow muß Owner des Fensters sein.

- entweder erst wenn das Objekt gelöscht wird, wird auch die Form gelöscht
(wird das Formular geschlossen, wird dieses nur unsichtbar gemacht)

- oder das Formular wird freigegeben, aber IDockWindow reagiert dann entsprechend, wenn man doch noch versucht drauf zuzugreifen
(anfragen ignoreren, diese nur intern verwalten oder einen "Fehler" auslösen)



2. entweder man registriert bei IDockWindow die entsprechenden Methoden/Callbackfunktionen
(wie in deinem Beispliel)
oder man läßt sich vom Plugin passend zu den "Komponenten" ein Event-Interface übergeben.

Delphi-Quellcode:
IEvent = interface
  procedure OnEnterEvent(Sender: IObject);
  procedure OnExitEvent(Sender: IObject);
  procedure OnClickEvent(Sender: IObject);
  procedure OnDblClickEvent(Sender: IObject);
end;

IEdit = interface(IObject)
  procedure SetOnChange(OnChangeIntf: IOnChangeEvent);
  property OnChange: IOnNotifyEvent write SetOnChange;
end;

IFactory = interface
  function CreateEdit(pos: TRect; events: IEvent): IObject{IEdit};
end;

Es gibt da tausende Möglichkeiten.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat