Цитата |
---|
SaprOnOff86 написал: И снова немного видео: задача была передать из 1ого файла в другой значение массы, при этом файлы не должны быть вставлены один в другой(обмен внешними переменными), всё делалось глобальными переменными.
возможно удастся что-то Вам подсказать конкретнее, если опишите задачу, которую решаете. |
Спасибо. Ваш пример у меня не пошел. В общих словах - команда GETG считывает данные из глобальной переменной (ГП) один раз и при дальнейшем изменении значения ГП значение выдаваемое GETG больше не изменяется. Я не решаю никакую практическую задачу, просто изучаю возможности Флекса. Упростил пример оставил только суть, объясню по шагам,
1. Пусть, для начала, нет глобальных переменных, а в единственном файле нет переменных.
Дальше два варианта развития. Вариант А.
2а. В файле сначало описываем переменную Е=GETG("Г",10), при этом ГП "Г" не существует. Е принимает значение 10.
3а. Создаем ГП "Г" со значением 20.
4а. В файле нажимаем Полный пересчет, значение Е изменяется Е=20. Здесь все нормально.
Вариант Б
2б Сначало создаем ГП "Г"=20, при этом Е еще не существует
3б Создаем Е=GETG("Г",10). Е принимает значение 20. Пока все нормально
Теперь, после выполнения любого варианта, можно изменять ГП, можно удалить ГП, это не повлияет на Е, его значение больше никогда не изменится. Более того, если удалить ГП и Е, а потом снова создать Е=GETG("Г",10), то Е примет свое последнее значение перед удалением =20, а не =10, как должно быть.
Интересно, что такое поведение наблюдается только в v15, в версии 14 на этом же компе все работает корректно и Ваш пример срабатывает. Я вижу, что ваш пример сделан как раз в 14 версии. Это или ошибка в конкретной версии, или у меня что-то с компом.