PDA

Просмотр полной версии : Левый eval(), вызывающий ошибку и способы решения.


oralfa
05.03.2006, 11:17
При динамичном создании команды с помощью Eval() выдается ошибка. Описаниие можно наити здесь (http://www.vmstudio.com/materials.php?eval).

Там сказано, что это появилось начиная с Flash 6, и для решения нужно изменить Eval() на this[].
Но это не помогло.
Кто-нибудь пользовался этим? В чем может быть ошибка?

KUZEN
05.03.2006, 11:49
Какая проблема конкретно у тебя ?!

oralfa
05.03.2006, 12:07
Проблема была в том, что при попытке присвоить какое-либо значение к функции eval(), которая должна была сгенерировать обращение к свойству объекта, выдавалась ошибка о невозможности данной операции.
Почему жто происходит можно прочитать, проидя по ссылке в верхнем посте.
Но то решение, которое там предложено у меня не сработало. Ошибки оно не выдало, но и результата не дало.

Но помогло другое - использование SET (). Может еще кому пригодится.
Находится здесь. (http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary200.html)

Double
05.03.2006, 13:32
для того, чтобы сконструировать обращение к переменной _root.myVar92 нужно использовать
i=92;
_root["myVar"+i] = someThing;
для _root.mc.myVar92 аналогично
_root.mc["myVar"+i] = someThing;
для обращения из тайм-лайн mc или из его функций
this["myVar"+i]=someThing;
и т.д. по аналогии. eval вообще использовать не надо. и нужно описывать конкретную проблему, чтобы получить конкретный ответ. общий писать лень.