|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
Frees |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
http://www.sql.ru/forum/actualthread.aspx?tid=577551
Добавлено через 49 секунд проверять наличие файла надо под админом -------------------- Кольцов Виктор Владимирович |
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
А зря ;) Это механизм виртуализации. Ещё одни костыли для кривых программ, чтобы они не упали при обновлении Windows: Управление учетными записями пользователей Windows Vista: взгляд изнутри (Марк Руссинович) Registry Virtualization in Windows Vista Но о виртуализации в этом топике речь не шла. Для определения, виртуализирован ли процесс, нужно получить его токен и вызвать GetTokenInformation с TokenVirtualizationEnabled (TOKEN_INFORMATION_CLASS Enumeration). Это сообщение отредактировал(а) CodeMonkey - 31.7.2008, 12:12 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Frees |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
зато шла о сохранений в програм файлс -------------------- Кольцов Виктор Владимирович |
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Вопрос был задан о том, как правильно делать. А вы говорите, что пишите как хотите - виртуализация всё скроет. Отличный ответ. Всё равно как на вопрос "в чём писать программы для Windows" ответить "в Turbo Pascal-е". -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Frees |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
я не имел в виду токого! я просто хотел обратить внимание на проблемы которые могут возникнуть если писать в ини и ложить его рядышком -------------------- Кольцов Виктор Владимирович |
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Прошу прощения, что не так вас понял.
Возможно, стоило акцентировать на этом внимание, потому что вашу фразу я понял именно так, как указал выше. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
yus |
|
||||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.2.2007 Где: Tomsk Репутация: нет Всего: нет |
Спасибо. |
||||
|
|||||
KotBegemotKlg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 1.8.2008 Репутация: нет Всего: нет |
Лично моё мнение:
Если нужно эти сохранённые параметры менять, то однозначно INI файл. Если это просто сохранение параметров, которые никто явно менять не будет - реестр. Если речь о базе данных, многие параметры, общие для всех, можно (и нужно) хранить прямо в базе. Почему INI: Потому что в реестре я могу соохранить ключ-(подключ)-значение. А потом ты откроешь реестр, найдёшь ключ EnableSmartEnumeration и долго будешь чесать репу что это за параметр, и за что отвечает. А в ini я напишу:
И у тебя не будет сомнений. |
|||
|
||||
Poseidon |
|
|||
Delphi developer Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Ну, если уж так придираться, то можно написать толковый help, в котором будут описаны все параметры реестра и что они делают. И это будет более профессионально, чем коментарии в ini. -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
можно ещё сказать, что в реестре проще хранить многостроковые и двоичные данные. Плюс иерархия против одного уровня, плюс возможность установки прав на каждый ключ, плюс наличие встроенного специализированного редактора. Ммммм.... может ещё что забыл. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
KotBegemotKlg |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 1.8.2008 Репутация: нет Всего: нет |
Достаточно сравнить механизмы: 1. а) Открыть help, найти информацию о ключах и о том какой ключ за что отвечает. б) Открыть Regedit, найти этот ключ, исправить. 2. а) Открыть INI почитать за что отвечает ключ, тут же исправить. Второе явно проще. Насчёт доступа - это не вопрос реестра. Это вопрос бизнес-логики программы кому и к каким параметрам давать доступ. С реестром согласен только в плане иерархических данных (частично) и двоичных - там действительно это будет удобнее. Но опять же, выносить эти вещи в доступные настройки, имхо, ни к чему. Правке адвансед-юзером подлежат только простые параметры, которые не могут привести к краху приложения! Визуальные настройки среды (хотя это лучше и делать визуально, через окно настроек, чтобы пользователь тут же видел результат), какие-то параметры отображения данных, и так далее. |
|||
|
||||
Poseidon |
|
|||
Delphi developer Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
О чем вообще речь? С каких это пор настройки программ меняются не выставлением "галок" и выбором из менюшек, а ковырянием в файлах? Вы явно чуток отстали от технологий...
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Teleport |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 3 Всего: 6 |
вот уже учусь сохранять параметры прямо в базе, для определнных прог. А для других сохраняю в ini файле - так как параметры и настройки в программе постоянно меняются . С реестром пока тяжеловато. Не освоил еще никак
|
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Хоть мы немножко ушли в топике в сторону, но я думаю, что стоит сказать ещё пару слов про виртуализацию, а то многие даже не в курсе, что она есть (не говоря уже про то, зачем она нужна). Пост навеян топиком Как сохранить настройки в файле под Vista?
Виртуализация позволяет работать в Vista старым кривым программам, которые пытаются писать свои даные в не предназначенные для этого места (Program Files, Windows и т.п.). Она предназначена только для обеспечения совместимости. Если такая програма под обычным пользователем пытается писать файл, например, в Program Files, то вместо этого она будет работать с файлом в папке C:\Users\<имя-пользователя>\AppData\Local\VirtualStore\Program Files. Очевидно, что для новой программы такая попытка приведёт к возврату ошибки "в доступе отказано". Кроме того, также очевидно, что такая старая программа будет работать только в Vista, в XP она не работала изначально (имеется ввиду - под обычным пользователем). Виртуализирован ли процесс можно определить в диспетчере задач (Task Manager) - просто добавьте столбец "Виртуализация". Про программное определение я уже сказал выше. Как Windows определяет, старая программа или новая? Виртуализация включается если:
Это сообщение отредактировал(а) CodeMonkey - 4.10.2008, 15:25 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Довольно неплохой обзор "ini-файлы VS реестр" (Реймонд Чен): Why are INI files deprecated in favor of the registry? (также рассматривается XML).
Это сообщение отредактировал(а) CodeMonkey - 4.10.2008, 15:28 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |