![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
О переменной окружения. [D7, XP]
Wood © (2006-03-19 14:29:00)Доброго дня.
Мне необходимо отслеживать одну переменную среды. К примеру, в "Свойствах системы"-> "Переменные окружения" я создаю пременную со значением "temp".
В моем приложении функция GetEnvironmentVariable(Var: string)показывает значение этой переменной. Но после смены значения, напр. в "tem2", тем же способом, что и созданием (т.е. из вне), в приложении функция GetEnvironmentVariable(Var: string) по прежнему выдает "temp". Мне кажется, здесь связь с адресным пространством самого приложения из которого вызывается эта функция. Но почему, даже после закрытия приложения и повторного его запуска, все равно функция возвращает "старое" значение?!
Как "обновить" результат функции не перезагружая систему?
Спасибо.
Wood (2006-03-20 02:58:00) [1]
> Так ты до сих пор не сообщил, работает ли у тебя после перезагрузки.[7]
После перезагрузки компьютера - ну, конечно работает! Иначе бы я не создавал этот вопрос.
Я думал, что функция GetEnvironmentVariable(Var: string) определяет результат переменной во время выполнения приложения даже тогда, когда значение ее изменилось со стороны, а оказывается надо закрыть (перезапустить) приложение, к тому же, выйти из файлового менеджера, откуда было запущена программа.
Anatoly Podgoretsky (2006-03-19 19:58:00) [2]Так ты до сих пор не сообщил, работает ли у тебя после перезагрузки.
Wood (2006-03-19 17:46:00) [3]вообщем, ни как нельзя сделать это без перезапуска приложение обновить считывание значение переменной среды?
Wood (2006-03-19 17:23:00) [4]Я про ярлык сказал, потому что, если запускать программу, например из FAR или WC, то то же самое, пока не перезапустишь WCommander переменная не прочитывается правильно.
Desdechado (2006-03-19 17:05:00) [5]Просто приложение стартует в рамках среды разработки Дельфи. А т.к. ее ты не перегружаешь,то и обновленное значение среда не получает. А получение переменных окружение происходит в момент старта программы.
Wood (2006-03-19 16:07:00) [6]Что харатерно: если запускать приложение с ярлыка на рабочем столе, то после перезапуска программы результат функции обновляется.
Ни как нельзя сделать это без перезапуска? :(
Wood (2006-03-19 15:25:00) [7]...необходимо отслеживать....Как "обновить" результат функции не перезагружая систему?
Поясню: в winXP переменная записывается в разделе Свойствах системы"-> "Переменные окружения"->"Сиситемные переменные".
А нюанс в следующем. Запускаем приложение из Delphi - переменная определяется "старая".
Запускаем на выполнение exe - переменная переопределяется. Меняем переменную средствами windows, запускаем exe - не меняется.
Почему повторное выполнение функции не приводит к обновлению результата измененной из вне переменной среды?
Anatoly Podgoretsky (2006-03-19 15:07:00) [8]Перезагрузи компьютер