Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проблема с SWF после его загрузки (http://www.flasher.ru/forum/showthread.php?t=92098)

BigDan 15.02.2007 16:28

Проблема с SWF после его загрузки
 
Загружаю проект используя классы Loader, LoaderInfo, URLRequest. После того как проект загрузился выдает такой месеж:
Код:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at script::ROOT$iinit()

где ROOT - главный класс моего проекта. Объясните, пожалуйста, в чем проблема?

BlooDHounD 16.02.2007 13:56

ну ... бооще-то если ты компилишь флесом, то он должен тебе срочку показать где ошибка.

а вообще ошибка говорит что ты пытаешь вызвать чего-то у объекта которого нету.

etc 16.02.2007 13:59

Да, флексовый компилер он такой, он говорит «Ошибка». А где — ищите сами.
Кстати, я бы поостерегся называть класс, как ROOT.

Флэш Потрошитель 16.02.2007 17:54

Друзиа, у него компилятор не ругается. На рантайме ошибка ж.

script::ROOT$iinit()

Похоже, что ошибка возникает в конструкторе твоего класса ROOT, и Денис верно заметил, что так классы лучше не называть (тебя не поймут).

И еще похоже на то, что ты пытаешься получить доступ к несуществующему объекту, используя не точечный синтаксис (контролируется компилятором), а квадратные скобки (как оператор доступа к массиву -- не контролируется). Поэтому компилятор это пропускает, но на рантайме ошибка все равно возникает.

И, возможно, твой баг имеет отдаленное отношение к загрузке -- попробуй исключить загрузку и проверь, будет ли глюк.

Кстати, а что ты загружаешь, конкретно -- под какой Flash Player скомпилировано то, что ты грузишь?

--
Cypress Hill - да, знатные падонки..

BlooDHounD 16.02.2007 18:49

У флекса есть дебуг моде, которое показывает строку в ран тайме, в которой было вызвано исключение.

BigDan 16.02.2007 20:27

Вся проблема была в том, что в проекте я обращался к Stage"у.

miramax 16.02.2007 21:40

Цитата:

Сообщение от __etc
Да, флексовый компилер он такой, он говорит «Ошибка». А где — ищите сами.

Почему ? Там отличный дебаггер. А вот флеш 9 - бяка..., его там нет.
Только многочисленными трейсами можно опытным путём установть где ошибка.
Кстати, у бигдэна копипаст из окна трейса Flash 9 IDE

Dendroid 18.02.2007 16:45

Цитата:

Сообщение от BigDan
Вся проблема была в том, что в проекте я обращался к Stage"у.

Ну, тогда может никакого .stage ещё в этот момент нет. addChild сделать не забыл?
Второй момент - после загрузки доступ к родительскому объекту возникает не сразу, а после события Event.INIT, поэтому в загружаемом мувике надо делать:
Код:

loaderInfo.addEventListener(Event.INIT, initHandler);
function initHandler (event:Event) {
        trace(loaderInfo.loader.parent);
}



Часовой пояс GMT +4, время: 15:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.