Текущий архив: 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.46 MB
Время: 0.039 c