Форум 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=115265)

Alexsas 25.08.2008 08:29

ошибка в загруженной swf
 
Пытаюсь грузить одной swf другую
когда она загружается тоначинают идти ошибки:
Код:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at dairy/::onEnterFrame()

Сама по себе загружаемая swf работает отлично.

Чего я незнаю?

etc 25.08.2008 09:35

Вероятно там обращение к stage, которого нет.

vvk80 25.08.2008 10:01

возможно загружаемая swf еще не успела загрузиться... я обычно подписываюсь на событие Event.Complete и диспатчу соответствующий event, чтобы известить родительскую swf о том, что в нее загрузилась дочерняя swf

Alexsas 25.08.2008 10:23

__etc — вероятно, а как быть в таком случае?
Если мне нужны данные stage

vvk80 — так и сделано

etc 25.08.2008 11:39

Цитата:

Сообщение от Alexsas (Сообщение 760091)
__etc — вероятно, а как быть в таком случае?
Если мне нужны данные stage

vvk80 — так и сделано

Добавить Loader перед загрузкой на Stage, например.

Alexsas 25.08.2008 13:23

Цитата:

Добавить Loader перед загрузкой на Stage, например.
непонял... вот есть swf и там:

Код:

...
        private var neaLoader:Loader;
        private static var swfURL:String = "2.swf";
...
        private function createLoader():void
        {
          neaLoader = new Loader();
          neaLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressListener);
          neaLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeListener);
          neaLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, IOErrorListener);
            neaLoader.load(new URLRequest(swfURL));
        }
...       
        private function progressListener(e:ProgressEvent):void
        {
            var bytes_loaded = e.bytesLoaded;
            var bytes_total = e.bytesTotal;
            var tt:Number = Math.floor((bytes_loaded / bytes_total) * 100);
            txt.text = "Загрузка: "+tt+"%";
        }
...       
        private function completeListener(e:Event):void
        {
                trace("gdgdgdgdf");
                movLoad();
                var loaderInfo:LoaderInfo = e.target as LoaderInfo;
                this.addChild(loaderInfo.content);
        }
...

где я сбаку зарыл?

etc 25.08.2008 13:37

Цитата:

Сообщение от Alexsas (Сообщение 760113)
непонял...

Что именно в моем предложении непонятно?

wvxvw 25.08.2008 14:17

А при чем тут этот код к ошибке из первого поста?

Alexsas 25.08.2008 14:34

какой loader и перед какой загрузкой?

в моем примере разве loader стоит после загрузки?

wvxvw 25.08.2008 15:29

В ошибке же написано, что она возникает в dairy.onEnterFrame() этой функции нет в коде, который вы привели. Предположительно ошибка возникает когда вы пытаетесь внутри функции обратиться к stage / root / loaderInfo до того как загружаемая SWF будет добавлена в дисплей лист.

Alexsas 25.08.2008 15:37

смотрите у меня в файле dairy в функции onEnterFrame() используются данные от stage.
но файл dairy грузит другой swf

как я узнаю в dairy, когда ее загрузят?

wvxvw 25.08.2008 15:54

ну, наверное на Event.ADDED_TO_STAGE надо подписаться... =/

Alexsas 25.08.2008 16:00

чтож... спасибо.

mehas 26.08.2008 20:14

__etc имел в виду что нужно сделать так:
Код:

neaLoader = new Loader();
this.addChild(neaLoader);
neaLoader.load(new URLRequest(swfURL));


Alexsas 27.08.2008 08:05

я уже разобрался
еще раз всем спасибо


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

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