RxDBGrid & RxPropertyStorage
Модераторы: alexs, Модераторы
RxDBGrid & RxPropertyStorage
Медленно сохраняет настройки полей. Как сделать так чтоб StorageProperty бил на главной форме и держал все в памяти до закрития программи?
А если переделать OnIniSave: сохранять в StoredValues?
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
StoredValues - это просто дополнительный массив для сохранения произвольных данных. Он точно также сохраняется в ini файл.
Тормоза возникают в тот момент когда много RxPropertyStorage начинают хранить в одном файле (по умолчанию он один на всех). Большие Ini файлы обрабатываются медленно.
Поэтому я и сделал наследника, у которого свойство SeparatedFiles обозначает требование своего файла для каждой формы. RxPropertyStorage, соответственно, должен быть на каждой форме свой.
Тормоза возникают в тот момент когда много RxPropertyStorage начинают хранить в одном файле (по умолчанию он один на всех). Большие Ini файлы обрабатываются медленно.
Поэтому я и сделал наследника, у которого свойство SeparatedFiles обозначает требование своего файла для каждой формы. RxPropertyStorage, соответственно, должен быть на каждой форме свой.
alexs писал(а):StoredValues - это просто дополнительный массив для сохранения произвольных данных.
Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kit, а как быть в случае если прогу тупо выгрузят из памяти через диспетчер задач?
alexs писал(а):kit писал(а):Ну вот и сохранять в масив а записивать в ini-файл только при виходе из программи
А он у тебя что - один? Он должен быть на каждой форме свой.
Для каждой форми свой но только на главной форме.
Добавлено спустя 1 минуту 33 секунды:
Лекс Айрин писал(а):kit, а как быть в случае если прогу тупо выгрузят из памяти через диспетчер задач?
Не важно потому как там только настройки грида
Добавлено спустя 1 минуту 13 секунд:
Решил проблему сделав форму autocreate
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
kit писал(а):Для каждой форми свой но только на главной форме
Этот компонент относится к одной форме. И он должен НАХОДИТЬСЯ на этой форме. Не надо всё пихать в одну форму. Тормоза именно из-за этого.
И, кстати, в твоём варианте не будет работать Form.StoredProps.
alexs писал(а):Этот компонент относится к одной форме. И он должен НАХОДИТЬСЯ на этой форме. Не надо всё пихать в одну форму. Тормоза именно из-за этого.
И, кстати, в твоём варианте не будет работать Form.StoredProps.
Сейчас на каждой форме свой и тороза из-за того что каждий раз как я закриваю форму, настройки записиваються в ini-файл - задержка.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kit, а точно из-за этого? Это ж какого размера должен быть ini файл, чтобы появилась явная задержка, если, зачастую, даже в Мемо (с предварительной загрузкой в StringList, а то и насильственным преобразованием кодировки) она зачастую практически незаметна?
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
kit писал(а):Сейчас на каждой форме свой и тороза из-за того что каждий раз как я закриваю форму, настройки записиваються в ini-файл - задержка.
Точно признак SeparateFiles включен?
Если да - то это значить что вы сохраняете ОЧЕНЬ большие конфиги.
У меня тормоза стали заметно после того, как ini файл стал превышать 1 мег. Но для сохранялки формы это не реально большие данные.
Типичный размер такого файл - 5 - 10 килобайт.
В этом случае - тут уже надо наверное самому переписать наследника от TFormPropertyStorage с требуемым вам поведением.
Размер файла 1килобайт - задержка 1-2 сек., может и неболшая но в Delphi небило и потому клиенти ворчат.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
А точно в этом дело? На таких размерах не должно тормозить. У меня практически на каждой форме этот компонент используется. Парк ПК очень различен (есть одноядерные ПК ещё). Но торможения такого не наблюдал.
Там ещё можно с параметром CacheUpdates поиграться у IniFile.
Я попробую.
Там ещё можно с параметром CacheUpdates поиграться у IniFile.
Я попробую.
На форме 7 гридов - может в етом проблема?
