Size: a a a

2020 November 23

SB

Sergey Bodrov in Delphi & Lazarus
Сергей Пятыгин
Спасибо, а у Lazarus есть binding или как и в Delphi его нужно реализовывать вручную?
В Лазаре есть вкладка контролов RTTI
источник

SB

Sergey Bodrov in Delphi & Lazarus
Но внутри у них обновление по таймеру
источник

AK

Andy Korg in Delphi & Lazarus
Сергей Пятыгин
К примеру в C# в XAML имеется это свойство: Связывание данных позволяет передавать данные между элементами пользовательского интерфейса и объектом данных в пользовательском интерфейсе. Когда привязка установлена ​​и данные или ваша бизнес-модель изменяются, они автоматически отражают обновления элементов пользовательского интерфейса и наоборот.
Понятно, выше Sergey Bodrv ответил.
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Sergey Bodrov
Но внутри у них обновление по таймеру
Получается это то же самое что и в вашем предыдущем сообщении: брать простые контролы и обновлять по таймингу.
источник

AK

Andy Korg in Delphi & Lazarus
Сергей Пятыгин
Получается это то же самое что и в вашем предыдущем сообщении: брать простые контролы и обновлять по таймингу.
Честно сказать не понял почему по таймингу? Это же desktop  приложение, события подходят?
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Sergey Bodrov
Но внутри у них обновление по таймеру
@sergeybodrov Andy Сергей написал, я не в курсе внутренней структуры.
источник

SB

Sergey Bodrov in Delphi & Lazarus
Сергей Пятыгин
Получается это то же самое что и в вашем предыдущем сообщении: брать простые контролы и обновлять по таймингу.
Да. Хоть на первый взгляд это не самое оптимальное решение и выглядит скорее как костыль, но на деле оно имеет меньше побочных "квантовых" эффектов, чем привязка уведомлений.
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Sergey Bodrov
Да. Хоть на первый взгляд это не самое оптимальное решение и выглядит скорее как костыль, но на деле оно имеет меньше побочных "квантовых" эффектов, чем привязка уведомлений.
Спасибо Сергей, а RTTI действительно по таймингу обновляются или по событию?
источник

SB

Sergey Bodrov in Delphi & Lazarus
А еще обновление по таймеру подходит для нагруженных систем, где постоянно обновляются данные в сотнях контролов. Например, чат. Если делать обновление после каждого сообщения, то уже на сотне сообщений в секунду перерисовка GUI отожрет все ресурсы. А по таймеру нагрузка легко регулируется, можно сделать 10 раз в секунду, что эквивалентно 10 сообщениям в секунду.
источник

TA

Tony An in Delphi & Lazarus
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Да, спасибо это то. Но мой вопрос скорее из разряда этого, из этой статьи: В сети давно и много трубят про MVC, MVP, MVVM... Что бы Вы посоветовали и насколько MVVM применим для Lazarus?
источник

SB

Sergey Bodrov in Delphi & Lazarus
Сергей Пятыгин
Спасибо Сергей, а RTTI действительно по таймингу обновляются или по событию?
Сейчас еще раз глянул, там кроме OnIdle есть еще какой-то хитрый механизм уведомлений. Попробую в отладчике посмотреть, как он работает.
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Sergey Bodrov
Сейчас еще раз глянул, там кроме OnIdle есть еще какой-то хитрый механизм уведомлений. Попробую в отладчике посмотреть, как он работает.
Спасибо за неравнодушие!
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
И все же стоит ли строить MVVM? Или для Lazarus достаточно MVC. Понимаю что видимо ответ на этот вопрос должен прийти с опытом, но хотелось бы услышать советы "бывалых" :)
источник

AZ

Andrey Zubov in Delphi & Lazarus
использование этих шаблонов может как облегчить Вам жизнь в большом проекте на длительном промежутке времени, так и замедлить банальное написание небольшой наколенной утилиты с простейшим интерфейсом которую кроме Вас никто никогда не увидит :)
источник

AZ

Andrey Zubov in Delphi & Lazarus
посути даже датасет и dbaware контролы это уже некий шаблон
источник

SB

Sergey Bodrov in Delphi & Lazarus
Посмотрел. У свойства Link контрола RTTI есть две опции:
источник

SB

Sergey Bodrov in Delphi & Lazarus
ploAutoSave - после редактирования в RTTI контроле данные сохраняются в Link контроле
источник

SB

Sergey Bodrov in Delphi & Lazarus
ploReadOnIdle - данные в RTTI контроле обновляются из Link контрола при бездействии системы
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Andrey Zubov
использование этих шаблонов может как облегчить Вам жизнь в большом проекте на длительном промежутке времени, так и замедлить банальное написание небольшой наколенной утилиты с простейшим интерфейсом которую кроме Вас никто никогда не увидит :)
Спасибо Андрей, сейчас речь идет о порядке 100 переменных гуи в гридах, порядка 10 гридов. Модель не имеет отношения к БД-чистая математика, разделенная на классы, около 20, по признаку отношения к узлу изделия. Стоит ли в таком масштабе заниматься MV...
источник