Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

О переменной окружения.   Найти похожие ветки 

 
Wood   (2006-03-19 14:29) [0]

Доброго дня.
Мне необходимо отслеживать одну переменную среды. К примеру, в "Свойствах системы"-> "Переменные окружения" я создаю пременную со значением "temp".
В моем приложении функция GetEnvironmentVariable(Var: string) показывает значение этой переменной. Но после смены значения, напр. в "tem2", тем же способом, что и созданием (т.е. из вне), в приложении функция GetEnvironmentVariable(Var: string) по прежнему выдает "temp". Мне кажется, здесь связь с адресным пространством самого приложения из которого вызывается эта функция. Но почему, даже после закрытия приложения и повторного его запуска, все равно функция возвращает "старое" значение?!
Как "обновить" результат функции не перезагружая систему?
Спасибо.


 
Anatoly Podgoretsky ©   (2006-03-19 15:07) [1]

Перезагрузи компьютер


 
Wood   (2006-03-19 15:25) [2]

...необходимо отслеживать....Как "обновить" результат функции не перезагружая систему?
Поясню: в winXP переменная записывается в разделе Свойствах системы"-> "Переменные окружения"->"Сиситемные переменные".
А нюанс в следующем. Запускаем приложение из Delphi - переменная определяется "старая".
Запускаем на выполнение exe - переменная переопределяется. Меняем переменную средствами windows, запускаем exe - не меняется.
Почему повторное выполнение функции не приводит к обновлению результата измененной из вне переменной среды?


 
Wood   (2006-03-19 16:07) [3]

Что харатерно: если запускать приложение с ярлыка на рабочем столе, то после перезапуска программы результат функции обновляется.
Ни как нельзя сделать это без перезапуска? :(


 
Desdechado ©   (2006-03-19 17:05) [4]

Просто приложение стартует в рамках среды разработки Дельфи. А т.к. ее ты не перегружаешь,то и обновленное значение среда не получает. А получение переменных окружение происходит в момент старта программы.


 
Wood   (2006-03-19 17:23) [5]

Я про ярлык сказал, потому что, если запускать программу, например из FAR или WC, то то же самое, пока не перезапустишь WCommander переменная не прочитывается правильно.


 
Wood   (2006-03-19 17:46) [6]

вообщем, ни как нельзя сделать это без перезапуска приложение обновить считывание значение переменной среды?


 
Anatoly Podgoretsky ©   (2006-03-19 19:58) [7]

Так ты до сих пор не сообщил, работает ли у тебя после перезагрузки.


 
Wood   (2006-03-20 02:58) [8]


> Так ты до сих пор не сообщил, работает ли у тебя после перезагрузки.[7]


После перезагрузки компьютера - ну, конечно работает! Иначе бы я не создавал этот вопрос.
Я думал, что функция GetEnvironmentVariable(Var: string) определяет результат переменной во время выполнения приложения даже тогда, когда значение ее изменилось со стороны, а оказывается надо закрыть (перезапустить) приложение, к тому же, выйти из файлового менеджера, откуда было запущена программа.



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
1-1141008643
Чертежник
2006-02-27 05:50
2006.04.02
Не рисует на канве


15-1141730029
Pazitron_Brain
2006-03-07 14:13
2006.04.02
Skype


2-1142430492
Id
2006-03-15 16:48
2006.04.02
Ошибка при просмотре прав для таблицы


2-1142744184
Фаст
2006-03-19 07:56
2006.04.02
НЕ плавная прокрутка в ListBox. Как её сделать?


15-1142066813
den_c
2006-03-11 11:46
2006.04.02
Этот загадочный MIDL