Доступ к WindowedApplication из класса пакета - PullRequest
0 голосов
/ 20 мая 2010

Я разрабатываю приложение AIR, где мне нужно получить доступ Функция WindowedApplication из класса пакета.

Это основное приложение (Partial code)

<mx:WindowedApplication  xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute" creationComplete="initApplication()">
<mx:Script>
    <![CDATA[

 import mx.events.CloseEvent;
 import messages.MessageWindow
public function undock():void {

        stage.nativeWindow.visible = true;
        stage.nativeWindow.orderToFront();

        //Clearing the bitmaps array also clears the applcation icon from the systray

        NativeApplication.nativeApplication .icon.bitmaps = [];
    }

  ]]>
</mx:Script>
</mx:WindowedApplication>

Пакет: (Частичный код)


package messages
{
  public class MessageWindow extends NativeWindow
  {

    public function MessageWindow():void
    {

     stage.addEventListener(MouseEvent.MOUSE_DOWN,onClick);

    }
    private function onClick(event:MouseEvent):void
    {
        ****** Need to call the undock method from here. *****

    }
  }

}

Можно ли так назвать или предложить другое решение

Спасибо заранее Senling.

Ответы [ 2 ]

1 голос
/ 20 мая 2010

Даже если я не рекомендую это для вашего дизайна кода, вы можете получить доступ к своему методу следующим образом: Application.application.undock () (если ваш метод undock () открыт для WindowedApplication)

1 голос
/ 20 мая 2010

Не могу понять, почему это не должно работать. Попробуйте и попробуйте, и если появятся какие-либо ошибки, опубликуйте их здесь.

Возможно, вы можете попробовать добавить parentApplication перед сценой в методе MessageWindow, как это ..

parentApplication.stage.addEventListener(MouseEvent.MOUSE_DOWN,onClick);

, а затем вызвать метод undock () из метода onClick ()

...