Показать сообщение отдельно
  #4  
Старый 05.09.2019, 19:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, ты заменяешь несколько строчек сохранения/чтения ini-файла на кучу кода, который скрыт от основной программы. Т.е. с точки зрения бинарника кода становится на самом деле больше (кстати, dfm это тоже код, хотя и не прямой), и памяти используется больше. Да, особенно на последних версиях компилятора это уже совсем не критично, и все-таки...
Плюс ты вводишь ограничения на типы сохраняемых данных.
Плюс при прямом использовании TIniFile я могу всегда его заменить на TRegIniFile (с минимальными правками своего кода) и получить сохранение параметров в реестр.

Ну и плюс ко всему, ini-файл нынче не в моде.
По умолчанию он пытается писать в %WindowsHome%, а теперь запись туда запрещена (можно обойти, если поставить в манифесте запрос административных прав, но тогда винда будет запрашивать подтверждение при запуске программы, это тоже можно обойти, но какой обычный пользователь это будет делать... Нет, если ты пишешь программу только для себя, то все ОК). Запись в папку программы, если она установлена стандартым способом в %ProgramFiles%, тоже запрещена. Т.е. там надо писать в %UserHome%.

"Не пойми меня праильно". Я не то, что бы огульно критикую. Если тебе действительно удобно работать с визуальным редактором, а не написать немного кода, дело твое. Наверняка найдутся еще люди, которые считают так же. Т.е. воспринимай то, что я написал выше, как советы к доработке. Например, по поводу custom типов (я, например, очень часто создаю перечислимые типы для некоторых параметров, там приходится писать небольшой код для корректрого сохранения/чтения). Как ты решаешь такую проблему?

ЗЫ. Я обычно создаю класс для хранения параметров. У этого класса есть пара методов Save/Load. Соответственно, весь код в одном месте, из основной программы только вызов этих методов.
Ответить с цитированием