O LiveBinding é um mecanismo de DataBinding que foi incorporado na versão XE2 do Delphi e que tem o objetivo de fazer a ligação de fontes distintas de dados através de expressões. Já o ORMBr LiveBinding for Delphi traz todo esse recurso para o mundo POO, através de atributos facilitando e muito a vida do desenvolvedor, para isso basta herdar suas classes da classe pai TORMBrLiveBindings e decorar as propriedade com o atributo LiveBindingsControl() passando nele o nome que ao componente na tela e o nome da propriedade do componente que irá receber e fornecer informações a propriedade decorada.
type TProduto = class(TORMBrLiveBindings) private FID: Integer; FPreco: Double; FSoma: Double; procedure SetPreco(const Value: Double); procedure SetID(const Value: Integer); public constructor Create; override; // ABAIXO ESTOU RELACIONANDO A MESMA PROPERTY A VÁRIOS COMPONENTES, Só // PARA TESTAR, SE A MUDANÇA REFLETE EM TODOS ELES, NOS TESTES FOI OK [LiveBindingsControl('EditID', 'Text')] [LiveBindingsControl('LabelID', 'Caption')] [LiveBindingsControl('ComboEditID', 'ItemIndex')] [LiveBindingsControl('ProgressBarID', 'Position')] property ID: Integer read FID write SetID; [LiveBindingsControl('EditPreco', 'Text')] [LiveBindingsControl('LabelPreco', 'Caption')] property Preco: Double read FPreco write SetPreco; [LiveBindingsControl('EditSoma', 'Text', 'TProduto.ID * TProduto.Preco')] property Soma: Double read FSoma write FSoma; end; implementation uses Bindings.Helper; constructor TProduto.Create; begin inherited; end; procedure TProduto.SetID(const Value: Integer); begin FID := Value; TBindings.Notify(Self, 'ID'); end; procedure TProduto.SetPreco(const Value: Double); begin FPreco := Value; TBindings.Notify(Self, 'Preco'); end; end.