Страница 1 из 2

RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 26.03.2017 13:37:17
kit
Медленно сохраняет настройки полей. Как сделать так чтоб StorageProperty бил на главной форме и держал все в памяти до закрития программи?

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 26.03.2017 18:05:15
alexs
Наоборот - стораже на каждой форме свой
и у него SeparatedFiles = true
Всё в дело в реализации INI файла. При большом размере он начинает тормозить.

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 27.03.2017 08:51:12
kit
А если переделать OnIniSave: сохранять в StoredValues?

Re: RxDBGrid & RxPropertyStorage

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

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 28.03.2017 07:33:41
kit
alexs писал(а):StoredValues - это просто дополнительный массив для сохранения произвольных данных.

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

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 28.03.2017 09:31:20
Лекс Айрин
kit, а как быть в случае если прогу тупо выгрузят из памяти через диспетчер задач?

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 28.03.2017 17:04:03
alexs
kit писал(а):Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи

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

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 29.03.2017 08:49:56
kit
alexs писал(а):
kit писал(а):Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи

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

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

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

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

Добавлено спустя 1 минуту 13 секунд:
Решил проблему сделав форму autocreate

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 29.03.2017 09:19:57
alexs
kit писал(а):Для каждой форми свой но только на главной форме

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

Re: RxDBGrid & RxPropertyStorage

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

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

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 29.03.2017 09:59:45
Лекс Айрин
kit, а точно из-за этого? Это ж какого размера должен быть ini файл, чтобы появилась явная задержка, если, зачастую, даже в Мемо (с предварительной загрузкой в StringList, а то и насильственным преобразованием кодировки) она зачастую практически незаметна?

Re: RxDBGrid & RxPropertyStorage

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

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

В этом случае - тут уже надо наверное самому переписать наследника от TFormPropertyStorage с требуемым вам поведением.

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 30.03.2017 08:53:20
kit
Размер файла 1килобайт - задержка 1-2 сек., может и неболшая но в Delphi небило и потому клиенти ворчат.

Re: RxDBGrid & RxPropertyStorage

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

Там ещё можно с параметром CacheUpdates поиграться у IniFile.
Я попробую.

Re: RxDBGrid & RxPropertyStorage

СообщениеДобавлено: 31.03.2017 09:52:43
kit
На форме 7 гридов - может в етом проблема?