#177 closed баг (fixed)
Неудачное расположение конфиг-файла
Reported by: | alx | Owned by: | dimag |
---|---|---|---|
Priority: | major | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | xml config |
Cc: | san |
Description
Сейчас программа для хранения конфиг-файла использует относительный путь (./Data/Config.xml). Это довольно неудачное решение, так как поведение зависит от текущего рабочего каталога на момент ее старта (программа может не найти конфиг-файл, или найти и использовать какой-либо стартый, а не последний сохраненный). Более того, у программы может не быть прав записи в текущий директорий (очевидный пример корневой каталог), или вообще текущая файловая система может быть read-only.
Для хранения конфигурации необходимо использовать специально предназначенные места - см. класс QSettings.
Change History (11)
follow-up: 2 comment:1 by , 8 years ago
comment:2 by , 8 years ago
Replying to dimag:
Уточнить с Александром.
Когда обсуждали это в начале работы, ты предлжил на первом этапе, пока, для простоты, хранить файл конфига в директории программы.
А сейчас, думаю, уже пора разместить файл конфига в предназначеном для этого месте.
comment:5 by , 8 years ago
Процитирую Алексея
Для хранения конфигурации необходимо использовать специально предназначенные места - см. класс QSettings.
comment:6 by , 8 years ago
И, пожалуй, добавлю, что в случае с Виндоус мне хочется чтобы настройки программы хранились не в реестре, а в обычном файле.(это на случай изменения параметров конфига вручную)
follow-up: 9 comment:7 by , 8 years ago
Не самый удачный класс для хранения конфигурации. Файл не сохраняется в формате XML, может храниться непонятно где, и его трудно будет просматривать и переносить.
Предлагаю хранить файл конфигурации там, где он расположен сейчас в директории .\Data, в файле Config.xml.
comment:8 by , 8 years ago
Недостатки существующего способа сохранения файла Алексей описал в тикете.
comment:9 by , 8 years ago
Replying to dimag:
Файл не сохраняется в формате XML,
То есть Вы не читали описание этого класса? Потому что в описании его функции registerFormat() дается пример работы как раз с XML.
может храниться непонятно где,
??? Что значит "непонятно"? Прочитайте документацию - там написано, где в каких системах хранится конфигурация.
"Непонятно где" конфиг хранится как раз сейчас, так как его расположение зависит от текущего рабочего директория, который может быть установлен куда угодно...
и его трудно будет просматривать и переносить.
В чем состоит трудность?
Уточнить с Александром.