Господа. Подскажите пожалуйста.
В чем преимущества использования РЕЕСТРА перед INI-файлом и
наоборот для сохранения
различного рода настроек: местоположения формы, размеров,
локальных и
глобальных настроек моей программы и т.д.
Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
14-02-2001 07:09
Программы, которые используют INI файлы в своем каталоге, гораздо лучше переносят снос Windows.
Честно говоря, я не только не вижу преимуществ реестра перед INI-файлом
для хранения настроек программы, но и даже удивляюсь рекомендациям MS
о полном отказе от INI.
Понятно, что когда речь идет, скажем, об организации межпрограммного
взаимодействия, о регистрации разделяемых DLL, ActiveX и прочих подобных
вещах, то без единого, известного всем хранилища информации и без ее
единого, "стандартного" формата не обойтись. Здесь все ясно.
Но если надо сохранить, скажем, расположение и размеры окна программы? Ну
кому оно нужно, кроме самой этой программы?
А, следуя рекомендациям MS, все начали писать реестр все, что ни попадя. В
итоге реестр разбухает и либо падает скорость системы, либо возрастает
потребляемая ею память - в зависимости от того, загружается ли реестр дина-
мически или статически, я этого просто не знаю. Но в любом случае снижается
надежность (что, если во время записи в реестр случится сбой?), да и гробить
лишнее место на диске тоже абсолютно ни к чему. И скорость загрузки системы
снижается (ведь идет проверка реестра, его архивация и пр.). Зачем все это?
А уж чистка реестра после удаления программ (либо их некорректной установки)
- это сплошная головная боль (но зато одна из областей для зарабатывания на
утилитах). И заодно, как совершенно верно заметил Антон Ковалев, еще один
потенциальный источник ошибок из-за неквалифицированного вмешательства.
Так что не понимаю я таких рекомендаций, а потому и не следую им. То, без
чего действительно не обойтись - пишу в реестр, остальное - в INI-файл(ы)
(в собственном каталоге программы, не в системном, конечно). А если нужно
запомнить путь к этим файлам, то вот его-то можно прописать в реестр - но
ОДИН раз, при инсталляции. Тем более, что под ключ Software так или иначе
принято писать информацию о своем софте (кстати, тоже не очень понятно,
почему это рекомендовано, как хороший тон - может, потому, что нужно для
скрытого сбора статистики где-нибудь на MS?).
достоинства - удобнее работать, видны из любого места (если могут
быть несколько копий программы или используются разными модлями),
нет ограничений на глубину иерархии (может и есть, но они несущественны)
недостатки - для рядового при необходимости труднее переносить на
другой комп (боятся они регэдит), иногда у заказчика появляются умелец,
который решает переустановить винды - информации капец...
........................
мы используем ini-файлы для очень ограниченного количества важных данных,
от которых напрямую зависит работа и к которым по тем или иным оображениям
иногда нужен доступ извне программы, а реестр для множества настроек
обоспечивающих удобство (мелкие опции, запоминания предыдущих позиций,
размеров, значений и т.д. такие если и погибнут, то особо не жалко)
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.