BindAPI: TplBindManager

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;

Le classi


Articoli più recenti:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *