kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 VibeeshanRC
VibeeshanRC
Вопрос

Live Binding с автоматическими обновлениями в XE3 (нет необходимости вызывать Notify(), как в XE2)

В настоящее время я использую Delphi XE2, и слышал об их новом Live Binding с автоматическим обновлением в XE3 (нет необходимости вызывать Notify(), как в XE2).

В C# или в Delphi XE2 мы должны реализовать INotifyPropertyChanged (Notify(); в Delphi), и этот подход действительно имеет смысл, поскольку мы имеем полный контроль над содержимым, которое должно быть обновлено и когда его обновлять, поэтому мы можем точно настроить производительность и легко реализовать виртуализацию.

Но я просто хочу знать, как это работает, какой механизм они сделали, чтобы реализовать это, и я понятия не имею, как они это сделали, ниже приведены предположения, которые, возможно, были использованы для реализации автоматического обновления.

  1. Таймер: Таймер часто тикает и обновляет все данные.

    Очень медленная производительность без виртуализации.

  2. Функция на уровне компилятора: Все коды, связанные с notify() events, реализуются компилятором автоматическим волшебным образом.

    Много лишнего.

  3. Сомм другой подход:

Пожалуйста, помогите мне определить, как они это реализовали.

В настоящее время я использую пробную версию XE3, поэтому у меня нет доступа к исходному коду, ваши ответы помогут мне решить, переходить ли на новые возможности или нет.
У меня есть класс (элемент коллекции) с 400 свойствами для связывания (не все из них постоянно), поэтому производительность действительно играет важную роль в стабильности моего приложения.

64 2012-09-30T03:49:35+00:00 1
Vitor Canova
Vitor Canova
Редактировал вопрос 31-го мая 2013 в 4:18
Программирование
delphi
virtualization
performance
data-binding
delphi-xe3
 jamb
jamb
5-го июня 2013 в 8:39
2013-06-05T20:39:28+00:00
Дополнительно
Источник
Редактировать
#17335249

LiveBindings происходит путем связывания любого объекта с другим интересующим объектом на основе некоторых событий. Это происходит по схеме наблюдателя, когда происходит срабатывание события, инспектор объектов будет оповещен, а инспектор оповестит уже зарегистрированные компоненты для отображения изменений.

Надеюсь, это поможет. Есть много документации по этому вопросу, если вы захотите покопаться.

2
0
Похожие сообщества 3
Delphi & Lazarus
Delphi & Lazarus
797 пользователей
https://t.me/Delphi_Lazarus (по-русски) https://t.me/Delphi_Lazarus_offtop https://t.me/freepascal_en (по-английски) https://t.me/fmx_ru (FMX в Delphi) по темам: https://t.me/Lazarus_Database https://t.me/Lazarus_Graphics https://t.me/Lazarus_Android
Открыть telegram
Delphi Community
Delphi Community
429 пользователей
Delphi, FreePascal, Lazarus, FireMonkey, FireDAC, UniGUI, FGXNative Соседи: https://t.me/Delphi_Lazarus (по-русски) https://t.me/Delphi_Lazarus_offtop https://t.me/freepascal_en (по-английски) https://t.me/fmx_ru (FMX в Delphi) https://t.me/fmx_flood
Открыть telegram
Delphi & Lazarus : оффтоп
Delphi & Lazarus : оффтоп
209 пользователей
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией