Какая недокументированная алхимия необходима для работы приложения parentApplication - PullRequest
0 голосов
/ 15 ноября 2010

Я загружаю SWF с помощью SWFLoader.В загруженном .SWF this.parentApplication возвращает значение NULL.Поиск в интернете в течение восьми часов.

листинг кода по запросу:

<?xml version="1.0"?>
<mx:Application 
  xmlns:mx="http://www.adobe.com/2006/mxml"
  initialize=  "Init();"
  visible="false" 
>

    <mx:Script>
        <![CDATA[

            import flextrace.Dumper;

        private var txt_event:TextEvent = new TextEvent(TextEvent.LINK,false,false,"next.xml");

            private var timer:Timer = new Timer(10000);

            private function Init():void {
              timer.addEventListener(TimerEvent.TIMER,timer_handlr);      
              timer.start(); 
            }

       private function timer_handlr(event:Event) {

         Dumper.info("timer_handlr");

         if (this.parentApplication == null)
           Dumper.info("null");

         parentApplication.dispatchEvent(new TextEvent(TextEvent.LINK,false,false,"next.xml"));
       }

      ]]>
    </mx:Script>

</mx:Application>

Ответы [ 3 ]

1 голос
/ 16 ноября 2010

Я просто просматривал документы Flex и видел ответ на ваш вопрос, если я вас правильно понял:

Свойство parentApplication объекта Application никогда не является само по себе;это либо объект приложения, в который он был загружен, либо он равен нулю (для объекта приложения) .

Поскольку, если вы вызываете его из приложения, он должен бытьnull.

Просто краткая ссылка о доступе к вложенным приложениям (пока я не тестировал решение, но все же могу дать вам несколько идей): Вложенные приложения Flex - странные проблемы ..

Надеюсь, это поможет:)

0 голосов
/ 16 ноября 2010

Райан Гилль: Я попробовал ваше предложение - не сработало.Я заменил вызов dispatchEvent в коде из OP следующим: this.dispatchEvent(new TextEvent(TextEvent.LINK,true,false,"next.xml"));Вы говорили, что это должно было вызвать обработчик событий родительского приложения для TextEvent.LINK?Это не сработало.

0 голосов
/ 16 ноября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...