Просмотр полной версии : Проверите на существование объекта в бибилотеке
motoroller
29.12.2010, 23:07
Мне надо проверить существует ли в библиотеке объект
Елси объект не сущетсввует то подставить объект по дефолту иначе выбрать из библиотеки
var iconsrc = (getDefinitionByName(externalData + "Icon")) ? externalData + "Icon" : "defaultIcon";
Вот эта конструкция не работает ...
ПОмогите
iflamberg
29.12.2010, 23:27
var iconsrc:*;
try {
iconsrc = getDefinitionByName(externalData + "Icon");
} catch (err:Error) {
iconsrc = getDefinitionByName("defaultIcon")
}
как-то так
motoroller
29.12.2010, 23:37
ReferenceError: Error #1065: Переменная [class jpgIcon] не определена.
at global/flash.utils::getDefinitionByName()
at Function/<anonymous>()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Добавлено через 1 минуту
Причем jpgIcon, есть точно в библиотеке
iflamberg
29.12.2010, 23:43
Я дал вам рабочую конструкцию. В каком месте возникает ошибка? Внутри catch блока?
motoroller
29.12.2010, 23:45
Решено спасибо
Добавлено через 31 секунду
Ваша констукция оказалась верной
Psycho Tiger
29.12.2010, 23:49
Пацанско!
getDefinitionByName абсолютно то же самое, что и ApplicationDomain.currentDomain.getDefinition. А это значит что нам предоставляют замечательный метод ApplicationDomain.currentDomain.hasDefinition, который бы по всей логике должен был бы быть эквивалентен несуществующей функции hasDefinitionByName... но чего нет, того нет.
iflamberg
29.12.2010, 23:55
Да, точно, есть такое. Не подумал.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.