RxDBGrid & RxPropertyStorage

Модераторы: alexs, Модераторы

RxDBGrid & RxPropertyStorage

Сообщение kit » 26.03.2017 13:37:17

Медленно сохраняет настройки полей. Как сделать так чтоб StorageProperty бил на главной форме и держал все в памяти до закрития программи?
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 26.03.2017 18:05:15

Наоборот - стораже на каждой форме свой
и у него SeparatedFiles = true
Всё в дело в реализации INI файла. При большом размере он начинает тормозить.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 27.03.2017 08:51:12

А если переделать OnIniSave: сохранять в StoredValues?
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 27.03.2017 09:07:52

StoredValues - это просто дополнительный массив для сохранения произвольных данных. Он точно также сохраняется в ini файл.
Тормоза возникают в тот момент когда много RxPropertyStorage начинают хранить в одном файле (по умолчанию он один на всех). Большие Ini файлы обрабатываются медленно.
Поэтому я и сделал наследника, у которого свойство SeparatedFiles обозначает требование своего файла для каждой формы. RxPropertyStorage, соответственно, должен быть на каждой форме свой.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 28.03.2017 07:33:41

alexs писал(а):StoredValues - это просто дополнительный массив для сохранения произвольных данных.

Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение Лекс Айрин » 28.03.2017 09:31:20

kit, а как быть в случае если прогу тупо выгрузят из памяти через диспетчер задач?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 28.03.2017 17:04:03

kit писал(а):Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи

А он у тебя что - один? Он должен быть на каждой форме свой.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 29.03.2017 08:49:56

alexs писал(а):
kit писал(а):Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи

А он у тебя что - один? Он должен быть на каждой форме свой.

Для каждой форми свой но только на главной форме.

Добавлено спустя 1 минуту 33 секунды:
Лекс Айрин писал(а):kit, а как быть в случае если прогу тупо выгрузят из памяти через диспетчер задач?

Не важно потому как там только настройки грида

Добавлено спустя 1 минуту 13 секунд:
Решил проблему сделав форму autocreate
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 29.03.2017 09:19:57

kit писал(а):Для каждой форми свой но только на главной форме

Этот компонент относится к одной форме. И он должен НАХОДИТЬСЯ на этой форме. Не надо всё пихать в одну форму. Тормоза именно из-за этого.
И, кстати, в твоём варианте не будет работать Form.StoredProps.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 29.03.2017 09:50:46

alexs писал(а):Этот компонент относится к одной форме. И он должен НАХОДИТЬСЯ на этой форме. Не надо всё пихать в одну форму. Тормоза именно из-за этого.
И, кстати, в твоём варианте не будет работать Form.StoredProps.

Сейчас на каждой форме свой и тороза из-за того что каждий раз как я закриваю форму, настройки записиваються в ini-файл - задержка.
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение Лекс Айрин » 29.03.2017 09:59:45

kit, а точно из-за этого? Это ж какого размера должен быть ini файл, чтобы появилась явная задержка, если, зачастую, даже в Мемо (с предварительной загрузкой в StringList, а то и насильственным преобразованием кодировки) она зачастую практически незаметна?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 29.03.2017 11:01:48

kit писал(а):Сейчас на каждой форме свой и тороза из-за того что каждий раз как я закриваю форму, настройки записиваються в ini-файл - задержка.

Точно признак SeparateFiles включен?
Если да - то это значить что вы сохраняете ОЧЕНЬ большие конфиги.
У меня тормоза стали заметно после того, как ini файл стал превышать 1 мег. Но для сохранялки формы это не реально большие данные.
Типичный размер такого файл - 5 - 10 килобайт.

В этом случае - тут уже надо наверное самому переписать наследника от TFormPropertyStorage с требуемым вам поведением.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 30.03.2017 08:53:20

Размер файла 1килобайт - задержка 1-2 сек., может и неболшая но в Delphi небило и потому клиенти ворчат.
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

Re: RxDBGrid & RxPropertyStorage

Сообщение alexs » 30.03.2017 10:00:21

А точно в этом дело? На таких размерах не должно тормозить. У меня практически на каждой форме этот компонент используется. Парк ПК очень различен (есть одноядерные ПК ещё). Но торможения такого не наблюдал.

Там ещё можно с параметром CacheUpdates поиграться у IniFile.
Я попробую.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4051
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: RxDBGrid & RxPropertyStorage

Сообщение kit » 31.03.2017 09:52:43

На форме 7 гридов - может в етом проблема?
kit
постоялец
 
Сообщения: 156
Зарегистрирован: 29.09.2016 09:39:07

След.

Вернуться в RxLib

Кто сейчас на конференции

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

Рейтинг@Mail.ru