Alexey Korop
2005-03-27 16:33:06 UTC
Привет, Jaroslaw!
Что-то я не пойму, какая может быть польза от сабжевой секции в dn.ini
DN/2. Если структура конфиг-файла не менялась, то и секция эта не нужна - юзер
может сам сохранить dn.cfg, если не дурак. А если структура двоичного конфига
менялась, то от этой секции явный вред, так как она может задать ненаглядно и
недуракоустойчиво совершенно не те биты. А самая жестокая ловушка - это если
продвинутый юзер, вроде меня, удалит руками эту секцию, вместе с dn.cfg, в
надежде получить нормальные дефолтные настройки, а получит какую-то хрень,
задаваемую десятичными начальными значениями соответствующих переменных (модуль
dnini). Я сегодня пару часов угрохал, разбираясь, почему не срабатывают
настройки по умолчанию из startup.pas.
Разобравшись, в чём дело, я начал определять константы для соответствующих
полей и помещать их в commands, а использовать в startup и dnini. И практически
закончил это дело, но по ходу всё меньше понимал, из-за чего сыр-бор, так что
бросил и сел писать это письмо.
По-моему, эту секцию обязательно надо выбросить, поскольку она помогает в
простых ситуациях, когда и помощь то не нужна, а вот в сложных - мешает. Или
надо работу с ней серьёзно доделывать, но как именно - я даже и не соображу.
Можно просто опираться на константу версии конфига и если она изменилась,
то эту секцию не использовать, но в этом случае совершенно непонятно, какой от
не прок. А вводить учёт версий по каждой из переменных этой секции - это уж
слишком.
Можно попытаться не использовать начальные значения этих переменных, если
нет сабжевой секции целиком или отдельных переменных в ней. Hо это очень уж
хитрый долен быть юзер, чтобы такой фичей воспользоваться, а в плане реализации
сходу я не нашёл способа определить присутствует в dn.ini секция или переменная
или нет.
В общем, гуманнее добить, чем лечить.
Что я понимаю не так?
С уважением, Alexey.
...В действительности всё совсем не так, как на самом деле.
Что-то я не пойму, какая может быть польза от сабжевой секции в dn.ini
DN/2. Если структура конфиг-файла не менялась, то и секция эта не нужна - юзер
может сам сохранить dn.cfg, если не дурак. А если структура двоичного конфига
менялась, то от этой секции явный вред, так как она может задать ненаглядно и
недуракоустойчиво совершенно не те биты. А самая жестокая ловушка - это если
продвинутый юзер, вроде меня, удалит руками эту секцию, вместе с dn.cfg, в
надежде получить нормальные дефолтные настройки, а получит какую-то хрень,
задаваемую десятичными начальными значениями соответствующих переменных (модуль
dnini). Я сегодня пару часов угрохал, разбираясь, почему не срабатывают
настройки по умолчанию из startup.pas.
Разобравшись, в чём дело, я начал определять константы для соответствующих
полей и помещать их в commands, а использовать в startup и dnini. И практически
закончил это дело, но по ходу всё меньше понимал, из-за чего сыр-бор, так что
бросил и сел писать это письмо.
По-моему, эту секцию обязательно надо выбросить, поскольку она помогает в
простых ситуациях, когда и помощь то не нужна, а вот в сложных - мешает. Или
надо работу с ней серьёзно доделывать, но как именно - я даже и не соображу.
Можно просто опираться на константу версии конфига и если она изменилась,
то эту секцию не использовать, но в этом случае совершенно непонятно, какой от
не прок. А вводить учёт версий по каждой из переменных этой секции - это уж
слишком.
Можно попытаться не использовать начальные значения этих переменных, если
нет сабжевой секции целиком или отдельных переменных в ней. Hо это очень уж
хитрый долен быть юзер, чтобы такой фичей воспользоваться, а в плане реализации
сходу я не нашёл способа определить присутствует в dn.ini секция или переменная
или нет.
В общем, гуманнее добить, чем лечить.
Что я понимаю не так?
С уважением, Alexey.
...В действительности всё совсем не так, как на самом деле.