Нечетное поведение getDefinitionByName - не связано с импортом - PullRequest
2 голосов
/ 04 февраля 2010

Поиск в Интернете дает сотни ответов на вопрос, почему getDefinitionByName не работает - потому что определение класса, которое вы пытаетесь получить, не включено в swf.

Это не та проблема.

Мое приложение загружает SWC во время выполнения, разархивирует его, читает XML и отображает список классов, которые были в этом SWC. Затем вы можете выбрать класс, и он будет добавлен на сцену.

Когда я загружаю SWC и пытаюсь использовать getDefinitionByName, я получаю следующую трассировку:

получение класса: com.company.assets: AppFooterShadow
ошибка: ошибка № 1065: переменные активы: AppFooterShadow не определен.

Компания com.company сорвана с начала!

Из кода, аналогичного следующему:

try
{
    trace( "getting class: " + definition );
    var currentClass : Class = getDefinitionByName( definition ) as Class;
}
catch( e : Error )
{
    trace( "error: " + e.message );
}

Если я введу имя класса в поле ввода текста и попытаюсь загрузить, чтобы оно работало нормально - точно такая же строка передается в функцию.

Кто-нибудь понял, что здесь происходит? Мне кажется очень странным.

1 Ответ

0 голосов
/ 04 февраля 2010

Я не могу поверить, как долго я смотрел на это и не видел, в чем проблема!

Я набрал это:

com.company.assets.AppFooterShadow

и это было в списке:

com.company.assets: AppFooterShadow

двоеточие вместо полной остановки!

Хорошо, я перестану говорить с собой - пожалуйста, проигнорируйте это!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...