TplBoundObjects = TArray; TplBindManager = class(TInterfacedObject)
TplBindManager è una classe composta da metodi statici e implementa il meccanismo di binding fra le classi. Ogni classe decorata con gli attributi di BindAPI deve usare i suoi metodi Bind e Unbind per avviare e sospendere la mappatura dei suoi membri.
Proprietà
Nessuna.
Metodi
class function Bind(ASource: TObject): TplBoundObjects;
class procedure Unbind(ASource: TObject);
La funzione Bind restituisce un array con le istanze delle classi target create durante il processo di mappatura. Se le classi non sono state marcate come singleton, è responsabilità della classe sorgente rilasciarne le risorse, memorizzando l’array in fase di binding e usando i metodi della classe TplClassManager per sapere quali istanze sono singleton e quali no. In una versione futura di BindAPI sarà implementato un metodo Unbind che, ricevendo un parametro di tipo TplBoundObjects, gestirà il rilascio delle classi.
Esempi
In questo esempio, una form decorata con gli attributi di BindAPI attiva il binding nel suo evento OnCreate e lo disattiva nel suo evento OnDestroy.
implementation uses plBindAPI.BindManagement; {$R *.dfm} procedure TfrmBindApiSimpleDemo.FormCreate(Sender: TObject); begin {Remember: if any bound class is not a singleton, this class has the responsibility to destroy it } TplBindManager.Bind(Self); end; procedure TfrmBindApiSimpleDemo.FormDestroy(Sender: TObject); begin TplBindManager.Unbind(Self); end;
Articoli più recenti: