![]() |
hurlant eval, чудеса с областью видимости в as3
Код AS3:
далее начинаются чудесаааатые чудеса: Код AS3:
Цитата:
Код AS3:
Цитата:
|
да вобщем нет тут ничего чудесного: если на функцию\класс нет ссылок в коде, то логично, что их нет и во флешке, не ?
|
Никаких чудес, в евале можно использовать только те классы, что вы использовали просто так, иначе их упоминаний не будет в заголовках swf файла( точнее abc файла) и они не могут быть использованы в динамике. Попробуйте получить имя этого класса через getDefinitionByName и у вас тоже ничего не получится. Для того чтоб класс можно было использовать достаточно его просто упомянуть, например так:
Код AS3:
Добавлено через 30 секунд блин, silin опередил |
Нет, это не область видимости, это класс Util не скомпилировался (т.как незачем) второй раз. Если класс не использовать, то компилятор его не прилинкует. А eval() скорее всего не занимается поиском (да и негде ему...) существующих классов, он просто скомпилировал код типа getproperty symboltableoffset XX ("Util") ну а когда оно выполнилось, оказалось, что строка из таблицы символов не относится ни к какому из известных объектов.
|
silin, Aquahawk, wvxvw - большое спасибо! =)
Злоупотреблю вашей добротой к моей глупости и моему невежеству, и спрошу ещё вот какую вещь: У меня есть ArrayCollection из объектов, свойства которых я использую в коде, который я потом eval'ю, следующим образом: Код AS3:
|
непонятно тебя
трудно угадать будет ли кому-то лучше, если загонять в конце :) |
Цитата:
В строковой переменной code я формирую текст кода, который потом выполняю с помощью esc.eval(code). У меня есть некий ArrayCollection, каждый элемент которого является объектом с вот такой структурой: {type: "Int", id: "zozo", value: 25} Я добавляю объекты из этого ArrayCollection, в формируемый мной текст кода, в виде инициализации переменных: Код AS3:
Далее в code добавляется код, который изменяет значения проинициализированных таким образом переменных. Теперь вот думаю, что нужно добавить в конце code, что бы изменения этих переменных адекватно отразились на содержимом элементов myAC. Цитата:
Добавлено через 20 минут Кажись нашол. Решением является такой код: Код AS3:
|
Нашел? Ай, молодец.
|
| Часовой пояс GMT +4, время: 20:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.