>Это вы имеете ввиду Delphi или структуру сохранения настроек или что-то другое? Просто хотелось бы понять уровень сложности разрешения проблемы с настройками.
Не, Делфи тут божий одуванчик - он не причем Проблема исключительно в текущей архитектуре работы с настройками. Хотя попробую с настройками сделать один финт ушами, посмотрю, если получиться - тогда в 4.6.6 не придётся настройки сбрасывать, но если в случае с несуществующим аттрибутом в хмле (Node.Node2.Attribute) это фигня, то вот когда не существует раздела (нода, node) - то тут уже немного сложнее, и может в общем-то сказаться на производительности (надо будет создавать вторую копию хмл-парсера, доставать из ресурсов initprefs где хранятся актуальные дефолтные настройки для текущей версии, и оттуда брать умолчательные значения для несуществующей переменной).
В общем, мысли есть, попробуем-с. Но если замечу что ощутимо скажется на производительности - наверно воздержусь от идеи, хотя если сохранять настройки в рамках под-релиза (4.6.5 -> 4.6.8 -- не сбрасываем, 4.6.5 -> 4.7.0 -- сбрасываем), но сбрасывать на смене мажорной/минорной версии(ведь если апгрейдится будут с 4.4 например на 4.6.6 - настройки между ними отличаются вообще как небо из земля) - то сильно на стабильности/производительности сказаться не должно.
>Эти слова можно рассматривать как принятие пожелания к попытке реализовать его.
Ну да
>сами настройки хранятся в реестре но при выходе прога сохраняет настройки в файл
когда прога вновь запускается то сканит реестр и если там настроек нет то читает их из файла
В реестре хранить настройки удобно - не надо особо думать о всяких UAC, тупо пихаешь в CURRENT_USER, а если права не позволяют - ну... нет так нет.
Но лично мне из реестра читать настройки не удобно (я в случае с ЛА частенько меняю ему настройки напрямую в LA.xml через блокнот, тусуясь в папке с плеером в Тотал Коммандере). Да и в нашем случае - настроек очень много, их попросту неудобно хранить в реестре. Одних только скрытых настроек (т.е. которые изменить можно только редактируя LA.xml, которые недоступны публично в меню настроек) - ~80 штук.
>Ясно. Когда выйдет 4.6.6 попробую так и сделать.
Ну, потренироваться советую для начала на 4.6.0, 4.6.5
Не, Делфи тут божий одуванчик - он не причем Проблема исключительно в текущей архитектуре работы с настройками. Хотя попробую с настройками сделать один финт ушами, посмотрю, если получиться - тогда в 4.6.6 не придётся настройки сбрасывать, но если в случае с несуществующим аттрибутом в хмле (Node.Node2.Attribute) это фигня, то вот когда не существует раздела (нода, node) - то тут уже немного сложнее, и может в общем-то сказаться на производительности (надо будет создавать вторую копию хмл-парсера, доставать из ресурсов initprefs где хранятся актуальные дефолтные настройки для текущей версии, и оттуда брать умолчательные значения для несуществующей переменной).
В общем, мысли есть, попробуем-с. Но если замечу что ощутимо скажется на производительности - наверно воздержусь от идеи, хотя если сохранять настройки в рамках под-релиза (4.6.5 -> 4.6.8 -- не сбрасываем, 4.6.5 -> 4.7.0 -- сбрасываем), но сбрасывать на смене мажорной/минорной версии(ведь если апгрейдится будут с 4.4 например на 4.6.6 - настройки между ними отличаются вообще как небо из земля) - то сильно на стабильности/производительности сказаться не должно.
>Эти слова можно рассматривать как принятие пожелания к попытке реализовать его.
Ну да
>сами настройки хранятся в реестре но при выходе прога сохраняет настройки в файл
когда прога вновь запускается то сканит реестр и если там настроек нет то читает их из файла
В реестре хранить настройки удобно - не надо особо думать о всяких UAC, тупо пихаешь в CURRENT_USER, а если права не позволяют - ну... нет так нет.
Но лично мне из реестра читать настройки не удобно (я в случае с ЛА частенько меняю ему настройки напрямую в LA.xml через блокнот, тусуясь в папке с плеером в Тотал Коммандере). Да и в нашем случае - настроек очень много, их попросту неудобно хранить в реестре. Одних только скрытых настроек (т.е. которые изменить можно только редактируя LA.xml, которые недоступны публично в меню настроек) - ~80 штук.
>Ясно. Когда выйдет 4.6.6 попробую так и сделать.
Ну, потренироваться советую для начала на 4.6.0, 4.6.5