Ошибка "QNXApplication.qnxApplication.addEventListener" - PullRequest
0 голосов
/ 04 февраля 2012

Я хочу создать меню параметров в моем представлении qnx, я использую air SDK, я получил этот пример

<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                             xmlns:s="library://ns.adobe.com/flex/spark" 
                        xmlns:mx="library://ns.adobe.com/flex/mx"
                        creationComplete="createMenu(event)"
                        firstView="views.testHomeView" xmlns:utils="utils.*">

<fx:Declarations>

</fx:Declarations>

<fx:Script>
    <![CDATA[
        import caurina.transitions.Tweener;

        import mx.events.FlexEvent;

        import qnx.events.QNXApplicationEvent;
        import qnx.system.QNXApplication;

        // Registers the drop down menu for PB application
        protected function createMenu( event:FlexEvent ):void
        {
            QNXApplication.qnxApplication.addEventListener( QNXApplicationEvent.SWIPE_DOWN, pullDownMenu );             
        }

        private function pullDownMenu( event:QNXApplicationEvent ):void
        {
            trace( "Menu pulled down" );
            Tweener.addTween(slideMenu, {y: 0, time: 0.5, transition: "linear"});


            /** 
             * add the mouse listener to hide the menu when the user clicks
             * outside of the menu area
             */             

            stage.addEventListener(MouseEvent.CLICK, onStageMouseClick);
        }

        // Hide menu when the screen is touched outside menu
        private function onStageMouseClick( e:MouseEvent ):void
        {
            /** if the user clicks outside of the menu area, hide the menu */               
            if (mouseY > slideMenu.height)
            {
                Tweener.addTween(slideMenu, {y: -slideMenu.height, time: .3, transition: "linear"});                    
                stage.removeEventListener(MouseEvent.CLICK, onStageMouseClick);
                trace( "Menu went up" );
            }
        }

    ]]>
</fx:Script>
<s:navigationContent>
    <utils:Menu id="slideMenu">

    </utils:Menu>
</s:navigationContent>

При запуске этого примера я получил эту ошибку: VerifyError: Ошибка # 1079: Собственные методы не допускаются в загруженном коде.

at flash.display::MovieClip/nextFrame()
at mx.managers::SystemManager/deferredNextFrame()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:284]
at mx.managers::SystemManager/preloader_preloaderDocFrameReadyHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:2633]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\preloaders\Preloader.as:515]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()

Error

Большое спасибо

1 Ответ

1 голос
/ 21 февраля 2012

Это может быть связано с тем, что вы переключаетесь между разными версиями для flex, что приводит к ссылкам на разные версии библиотеки (.SWF).

Посмотрите на этот пост .

...