Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 28 мар 2024, 22:12

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 11 авг 2019, 16:36 
Не в сети

Зарегистрирован: 15 мар 2018, 15:31
Сообщений: 48
В разы снизилась скорость загрузки данных при RequestLive=true в TQuery + TDbGridEh (Ehlib 9.3.0.33).

Попробую объяснить суть вопроса. Есть старая, но активно работающая программа где используется версия библиотеки EhLib 5.6.
В большей части программы используется прямое редактирование данных в таблицах. Т.е. TQuery переводится в режим TQuery.RequestLive := true и выполняется редактирование нужных полей. Затем сохранение через "TQuery.Post" . Выход из режима редактирования - TQuery.RequestLive := false;
Там же, в форме есть окно поиска по одному из полей. (поле телефон).

Так вот, раньше, когда стояла версия Ehlib 5.6. не было никаких проблем. И переключение в режим редактирования (RequestLive := true) происходило быстро. И поиск В РЕЖИМЕ РЕДАКТИРОВАНИЯ то же происходил быстро. ~0,5 сек.
Сейчас же, когда решил попробовать версию Ehlib 9.3.0.33, переключение в режим редактирования TQuery.RequestLive := true происходит примерно за 5 сек. (48 записей выбирается (но записей в базе гораздо больше)).
Правда переключение из режима редактирования (RequestLive := false) происходит быстро, за ~0,5 сек.

Когда производишь поиск напр. по телефону, - вообще тормоза ,- невозможно работать, - нажал букву - сиди-жди. Передвижение по гриду с жуткими тормозами.
Можно ли как то вернуть скорость работы как в предыдущих версиях?
Настройки грида - по умолчанию. Никаких SumList и футеров и др. нету.
Повторюсь - речь идет о режиме TQuery.RequestLive := true;. В режиме работы TQuery.RequestLive := false; - скорость работы нормальная.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 11 авг 2019, 21:25 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1546
Добрый день.

На Демо проекте проблема со скоростью не воспроизводится.
Вы можете поменять Демо проект так, чтобы проблема стала воспроизводиться?


Вложения:
2019-08-12-TQuery-RequestLive.zip [1.81 KiB]
Скачиваний: 71

_________________
Best regards
EhLib support Team
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 авг 2019, 15:20 
Не в сети

Зарегистрирован: 15 мар 2018, 15:31
Сообщений: 48
Вот ссылка на проект.

https://yadi.sk/d/aZgWfHITjc9UIw

Во вложении тестовый проект.
Поработайте с RequestLive.

Уверяю что с v.5.6 было все Ок. Сейчас на ней и работают.

С уважением.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 авг 2019, 23:26 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1546
Добрый день.

В режиме TQuery.RequestLive = True очень медленно работает функция function TBDEDataSet.GetRecordCount: Integer; (property RecordCount)
В DBGridEh не возможности отключить вызов DataSet.RecordCount для настройки вертикального скролбара.

Для решения проблемы вашего случая, вы можете изменть код в методе:

Код:
procedure TCustomDBGridEh.GetDataForVertScrollBar(var APosition, AMin, AMax, APageSize: Integer);
...
      //if SumList.IsSequenced then //OLD CODE
      if False then // NEW CODE
...


чтобы DataSet.RecordCount не вызывался.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 авг 2019, 02:49 
Не в сети

Зарегистрирован: 15 мар 2018, 15:31
Сообщений: 48
Спасибо за ответ.
Тормоз действительно в этом куске кода. Буду думать как "выкрутиться". (Если получится).
Хотелось бы что бы и вертикальный скроллбар остался работать хоть как то.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 13 авг 2019, 17:10 
Не в сети

Зарегистрирован: 15 мар 2018, 15:31
Сообщений: 48
Ничего не получается. А скроллбар нужен. Видимо нужно оставаться на версии 5.6.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB