Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex air 2.0在应用程序退出时调用preventDefault_Apache Flex_Air - Fatal编程技术网

Apache flex air 2.0在应用程序退出时调用preventDefault

Apache flex air 2.0在应用程序退出时调用preventDefault,apache-flex,air,Apache Flex,Air,单击X按钮试图阻止应用程序关闭时,应用程序仍将关闭,但任务管理器中的AIR进程正在运行。代码怎么了 申请完成: NativeApplication.nativeApplication.addEventListener(Event.EXITING, onExiting); 结束代码: private function onExiting(e:Event):void { e.preventDefault(); } 尝试事件。关闭。这就是我用来取消结账的方法 事件。退出发生在删除窗口后,应仅用于清

单击
X
按钮试图阻止应用程序关闭时,应用程序仍将关闭,但任务管理器中的AIR进程正在运行。代码怎么了

申请完成:

NativeApplication.nativeApplication.addEventListener(Event.EXITING, onExiting);
结束代码:

private function onExiting(e:Event):void
{
e.preventDefault();
}

尝试
事件。关闭
。这就是我用来取消结账的方法

事件。退出
发生在删除窗口后,应仅用于清理,而不是阻止应用程序关闭

从:

在Windows上,只有在 退出事件是在关闭后发生的 最后一个窗口(当autoExit=true时)


“不可关闭”应用程序示例:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       initialize="init()">
    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            private function init():void{
                this.addEventListener(Event.CLOSING, function(e:Event):void{
                    e.preventDefault();
                    Alert.show('Unclosable!');
                });
            }
        ]]>
    </fx:Script>
</s:WindowedApplication>

祝你好运,

Alin

警报消息处理发生在不同于应用程序线程的线程中,因此应用程序不等待警报消息框。诀窍是使用初始化值为false的全局变量。在关闭的事件处理程序上,若值未更改为true,则取消关闭事件。这样可以显示警报消息。如果用户按下Yes,则将变量设置为true,然后再次设置fire exit功能

        private var boolExit:Boolean=false;

        private function alertClickHandler(event:CloseEvent):void{
            if(event.detail==Alert.YES){
                boolExit=true;
                NativeApplication.nativeApplication.exit();
            }

        }


        private function AppExit(e:Event):void{
            if(!boolExit)
                e.preventDefault();

            Alert.show("Do you want to exit application?",
                "Exit Confirmation",
                Alert.YES|Alert.NO,null,
                alertClickHandler
                );
        }

        public function init():void
        {
           . . . 
           this.addEventListener(Event.CLOSING,AppExit);
           . . .
        }

呃,即使我换成你的解决方案,它仍然会关闭。在Windows7上。它也在Windows7上工作。我在应用程序中使用了完全相同的方法,当用户想要从x按钮关闭窗口时,请求保存。您使用的是
Event.CLOSING
,而不是
Event.CLOSE
?我使用CLOSING,也许您可以发布一个示例代码?谢谢。谢谢你,至少这样行。我看到有人在64位上有问题?“函数”使实现变通方法变得容易。