Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   referenceerror error 1065 при загрузке внешней swf (http://www.flasher.ru/forum/showthread.php?t=144542)

AlexsWulf 14.09.2010 20:55

referenceerror error 1065 при загрузке внешней swf
 
Вложений: 1
Доброго времени суток.
Есть проект AS в FB. Требуется вместо подключенных swc к проекту подкружать их на этапе загрузки проекта.

Написал следующий код:
Код AS3:

package
{
        import by.typing.graphics.pixel.cursors.MoveCursor;
 
        import flash.display.Loader;
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.IOErrorEvent;
        import flash.events.SecurityErrorEvent;
        import flash.net.URLRequest;
        import flash.system.ApplicationDomain;
        import flash.system.LoaderContext;
 
                [SWF(width="760", height="730", backgroundColor="0xF7F7F7")]
                public class testLibrary extends Sprite
                {
 
                        // Массив адресов библиотек
                        protected var libs:Array;
                        // Индекс текущей библиотеки для загрузки
                        protected var libsLoadIndex:Number;
                        // Loader для загрузки библиотек
                        protected var libLoader:Loader;
                        // Имя класса основного приложения
                        protected var mainApplicationClassName:String;
 
                        // Запишем время старта и окончания загрузок
                        protected var preloaderInitTime:Number;
                        protected var loadAppCompleteTime:Number;
                        protected var loadLibsCompleteTime:Number;
 
                        public function testLibrary()
                        {
                                libs = new Array();
                                //libs.push("http://cs4288.vkontakte.ru/u8322762/48edb8c2f31057.zip");
                                libs.push("http://cs4288.vkontakte.ru/u8322762/3b560024de9455.zip");
 
                                preloaderInitTime = (new Date()).getTime();
 
                                libsLoadIndex = 0;
                                //MonsterDebugger.trace(this, "1");
                                libLoader = new Loader();
                                libLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, libLoaderInitHandler);
                                libLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, libLoaderErrorHandler);
                                libLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, libLoaderErrorHandler);
                                loadLibs();
                        }
 
                        protected function initial():void {
                                trace(this,  libLoader.contentLoaderInfo.applicationDomain.hasDefinition('NewBUtAssets');
// Выдает true
                                trace(thisApplicationDomain.currentDomain.hasDefinition('NewBUtAssets'));
// Выдает false
                                stage.addChild( new MoveCursor());
                                stage.addChild( new NewBUtAssets());
                                //stage.addChild(new Mars());
 
                        }
 
 
                        // Начинает загрузку библиотек
                        public function loadLibs():void
                        {
                                loadAppCompleteTime = (new Date()).getTime();
                                if (libs && libs.length > 0)
                                        loadLib();
                                else
                                        libsLoaded();
                        }
 
                        // Загрузка текущей (libsLoadIndex) библиотеки
                        protected function loadLib():void
                        {
                                var urlRequest:URLRequest = new URLRequest(libs[libsLoadIndex]);
                                var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
                                libLoader.load(urlRequest, loaderContext);
                                //MonsterDebugger.trace(this, "2");
                        }
 
                        protected function libsLoaded():void
                        {
                                loadLibsCompleteTime = (new Date()).getTime();
                                initial();
                        }
 
                        protected function libLoaderInitHandler(event:Event):void
                        {
                                //MonsterDebugger.trace(this, "3");
                                libsLoadIndex++;
                                if (libsLoadIndex == libs.length)
                                        libsLoaded();
                                else
                                        loadLib();
                        }
 
                        protected function libLoaderErrorHandler(event:Event):void
                        {
                                trace("libLoaderErrorHandler: " + event);
                        }
        }
}

Код AS3:

Подключены две библиотеки 
одна включена в код из нее вызывается stage.addChild( new MoveCursor());
 
у второй стоят надстройки что она внешняя из нее вызывается stage.addChild( new NewBUtAssets());
 
В результате выполнения падаем на stage.addChild( new NewBUtAssets());
с ошибкой ReferenceError: Error #1065: Переменная NewBUtAssets не определена.


во вложении полный код проекта с библиотеками

Подскажите в чем причина? Что сделано не так?
Заранее благодарю за ответ.

mayakwd 14.09.2010 22:24

Код AS3:

var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);


AlexsWulf 15.09.2010 10:07

Большое спасибо.
Все заработало.


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

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