Показать сообщение отдельно
Старый 09.12.2009, 13:27
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 13  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Неужели нет такого способа? Помнится, в втором AS был _lockroot, он в таких случаях помогал.
Тут проблема не в этом - если кто-то обратился к методам / свойствам стейджа (рута, или лоадерИнфо) до того, как он был доступен - то этому уже никак не помочь. Только на уровне байткода править. Я могу ошибаться в деталях, но смысл примерно такой: помещенные на таймлайн объекты (в том числе и документ класс) создаются как бы в 2 этапа - сначала создается символ, потом линкуется к стейджу а потом вызывается его конструктор, а когда мы загружаем флешку, то первый этап не происходит.
Т.е. в AS2 можно было сделать Object.registerClass() - ну, вот что-то, по всей видимости похожее происходит и там. В HaXe например есть штатная возможность создать объект не вызывая его конструктора - поэтому, я думаю, что такая возможность в принципе существует в AVMPlus - просто средствами AS3 мы никак до нее не доберемся.
И как бы с этим делать пока вобщем-то нечего, уже много об этом писали, вот в 10.1 пообещали сделать глобальный обработчик ошибок - но пока не работает
__________________
Hell is the possibility of sanity