Flash Builder Basic - Попытка загрузить файл air.swf - PullRequest
0 голосов
/ 24 августа 2011

Я создал новый проект Flex и у меня есть следующий код в файле .mxml.

<?xml version="1.0"?>
<!-- usingas/StatementSyntax.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="doSomething()">
    <mx:Script><![CDATA[
        var airSWF:Object; // This will be the reference to the main class of air.swf
        var airSWFLoader:Loader = new Loader(); // Used to load the SWF
        var loaderContext:LoaderContext = new LoaderContext(); 
        // Used to set the application domain domain

        loaderContext.applicationDomain = ApplicationDomain.currentDomain;

        airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
        airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), 
            loaderContext);

        function onInit(e:Event):void 
        {
            airSWF = e.target.content;
        }
    ]]></mx:Script>

    <mx:Label id="label1"/>

</mx:Application>

Это ошибки:

1120: доступ к неопределенному свойству airSWFLoader.WebTry.mxml / WebTry / src line 12 Проблема Flex

1120: доступ к неопределенному свойству loaderContext.WebTry.mxml / WebTry / src line 10 Проблема Flex

Идея состоит в том, чтобы заставить файл air.swf, работающий в приведенном выше коде, определять, установлено ли наше приложение air, запустить приложение air избраузер и т. д.

1 Ответ

0 голосов
/ 25 августа 2011

Ну, никто не отвечает, но вот решение!

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
                           creationComplete="init()" >

        <fx:Script>
                <![CDATA[

                        public function init():void {
                                _loader = new Loader();
                                var loaderContext:LoaderContext = new LoaderContext();
                                loaderContext.applicationDomain = ApplicationDomain.currentDomain;
                                _loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
                                _loader.load(new URLRequest(BROWSERAPI_URL_BASE + "/air.swf"), loaderContext);
                        }

                        private function onInit(e:Event):void {
                                _air = e.target.content;
                                launchButton.enabled = true;
                        }

                        private function onButtonClicked(e:Event):void {
                                **_air.launchApplication( APP_ID,PUB_ID, ANY_ARGS) );**
                        }

                        private const BROWSERAPI_URL_BASE: String = "http://airdownload.adobe.com/air/browserapi";
                        private var _loader:Loader;
                        private var _air:Object;
                ]]>
        </fx:Script>


        <s:Button id="launchButton" x="10" y="175" label="Launch Application"
                          click="onButtonClicked(event)" enabled="false"/>

</s:Application>

Пожалуйста, замените элементы между **

...