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 使用默认编辑器打开并等待关闭_Apache Flex_Actionscript 3_Air - Fatal编程技术网

Apache flex 使用默认编辑器打开并等待关闭

Apache flex 使用默认编辑器打开并等待关闭,apache-flex,actionscript-3,air,Apache Flex,Actionscript 3,Air,我们正在开发一个应用程序,应该能够用默认编辑器应用程序打开指定的文件。(如果它是.doc,那么它应该由MSWord或openOffice打开) 但我还需要等待,直到用户关闭编辑器,检查它是否已更改(按大小和日期),然后将其上载到服务器 因此,请执行以下步骤: 1) 查找def编辑器 2) 打开文件 3) 等一下,它要关门了 4) 然后用这个文件做smth 现在我的研究结果是: ->通过def编辑器打开很简单:file.openWithDefaultApplication() 但无法知道编辑器已关

我们正在开发一个应用程序,应该能够用默认编辑器应用程序打开指定的文件。(如果它是.doc,那么它应该由MSWord或openOffice打开)

但我还需要等待,直到用户关闭编辑器,检查它是否已更改(按大小和日期),然后将其上载到服务器

因此,请执行以下步骤: 1) 查找def编辑器 2) 打开文件 3) 等一下,它要关门了 4) 然后用这个文件做smth

现在我的研究结果是: ->通过def编辑器打开很简单:
file.openWithDefaultApplication()
但无法知道编辑器已关闭(可能是通过检查文件是否未锁定在计时器中?)

->我可以启动本机进程并将文件作为参数传递,但看起来像代码
NativeApplication.NativeApplication.getDefaultApplication(文件扩展名)
不适用于任何扩展名:(-它不适用于“rtf”、“doc”,但适用于“pdf”…并且[file.openWithDefaultApplication()]适用于任何文件!

有什么建议吗? 提前谢谢

但是没有办法知道这一点 编辑器关闭


正确。我不相信你想用AIR做什么。AIR如何判断文件是否打开?你可能想研究使用;但这取决于底层操作系统/默认程序公开API,让你知道程序何时打开和/或关闭。

我唯一的建议是你不需要“不要让Air应用程序监视文件,而是显示一个弹出窗口,上面写着‘编辑文件后单击OK’,然后根据该弹出窗口上载文件。”

我唯一能想到的另一种方法是创建一个.bat和一个.sh文件
(对于windows和Mac/linux;根据操作系统选择一个或另一个)通过NativeProcess打开您想要的文件(当然,输入“等待”),然后侦听关闭事件。

您成功做到了吗?我现在的情况非常类似:(我们决定这样做:存储文件的日期和大小,如果它被更改-我们将文件上载到服务器。如果没有-继续侦听。如果在过期期间没有更改-文件将被删除。原因是openOffice没有锁定文件,因此无法轻松确定文件是否打开/关闭。