Глобальные переменные, что это за зверь?

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Глобальные переменные, что это за зверь?

Post by Millerbeer »

Если скрипт обьявил глобальную переменную и присвоил ей значение, значение этой переменной могут считывать и модифицировать все функции данного скрипта. А параллельно запущенные скрипты тоже имеют к ней доступ? И если инициализировавший переменную скрипт уже завершился, переменная "живёт" дальше? После перезапуска инжекта переменная всё равно "живёт"? И как её уничтожить? Я так понял, просто присвоить ей значение пустая строка не поможет, всё равно сохранится её дискриптор и будет выделена под неё память. Если я правильно понял, это переменные класса глобал, так можнт её можно деструктором удолбать, типа:

Code: Select all

переменная.Destroy()
Вот собсно, что интересует, просвятите, кто знает?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

смотря что ты под разумеваешь под глобальной переменной, в инжекте много вариантов глобальности:) Даже SetGlobal и SetEasyUO различаются по времяни жизни переменной:) SetGlobal умрет только после перезагрузки инжекта.
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Про переменные изи Деструктор обьяснял, что они хранятся в ветке реестра для EasyUO, соответственно, переменные изи ,по идее, сохраняются даже при перезагрузке инжи. А Set Get Global значит живут только текущий сеанс и при перезапуске теряются. Ясно, спасибо. А параллельно запущенные скрипты имеют доступ к одной глобальной переменной?
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

:) на то они иглобальные так видны разным "скриптам"%)
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Ага, спасибо за информацию.
Post Reply