Direct binding with automatic updates in XE3 (no need to call Notify (), as in XE2)

I am currently using Delphi XE2 and have heard about their new Live Binding with automatic updates in XE3 (there is no need to call Notify () like in XE2).

in C # or in Delphi XE2 we have to implement INotifyPropertyChanged ( Notify(); in Delphi), and this approach really makes sense, since we have full control over the content that needs to be updated, and when to update it so that we can easily configure normally performance and implement virtualization.

But I just want to know how it works, what mechanism they did to implement it, and I don’t know how they did it, following the assumptions that could be used to implement automatic updates.

  • Timer: The timer often goes out and updates all data.

    Very low performance without virtualization

  • Compiler level function: all notify() events related codes implemented by the compiler automatically magical

    Lots of heads

  • Somme another approach:

Please help me determine how they implemented this.

I am currently using a trial version of XE3, so I do not have access to the source code, your answers will help me decide whether to switch to new functions or not .
I have a class (collection item) with 400 properties for binding (not all of them all the time), so performance really plays an important role in the stability of my application.

+62
performance virtualization data-binding delphi delphi-xe3
Sep 30
source share
1 answer

LiveBindings occurs by binding any object to another object of interest based on some events. This happens using the observer pattern, when there is an event trigger, the object inspector will be notified, and the inspector will notify already registered components to display the changes.

Hope this helps. There is a lot of documentation for this if you want to dig.

+2
Jun 05 '13 at
source share



All Articles