Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/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
Flash 如何处理AS3中的执行时间错误(错误#1502)_Flash_Actionscript 3 - Fatal编程技术网

Flash 如何处理AS3中的执行时间错误(错误#1502)

Flash 如何处理AS3中的执行时间错误(错误#1502),flash,actionscript-3,Flash,Actionscript 3,我想知道是否有办法为AS3中的#1502执行时间错误添加错误处理程序 几点注意: 我知道可以在发布选项上设置最大脚本执行时间。它的值高达16位(0-65535)。所以最多有18个小时。在我使用的上下文中,脚本在60秒后不会终止 我在用mProjector构建的应用程序中使用它。打开文件浏览器对话框的按钮上有一个事件侦听器。只要浏览器处于打开状态,事件处理程序就不会继续。如果超过最大脚本执行时间,我得到#1502 如果没有办法的话,我就把这个限制定得很高。然而,如果你把一段对话留一天的话,建立一

我想知道是否有办法为AS3中的#1502执行时间错误添加错误处理程序

几点注意:

  • 我知道可以在发布选项上设置最大脚本执行时间。它的值高达16位(0-65535)。所以最多有18个小时。在我使用的上下文中,脚本在60秒后不会终止

  • 我在用mProjector构建的应用程序中使用它。打开文件浏览器对话框的按钮上有一个事件侦听器。只要浏览器处于打开状态,事件处理程序就不会继续。如果超过最大脚本执行时间,我得到#1502

  • 如果没有办法的话,我就把这个限制定得很高。然而,如果你把一段对话留一天的话,建立一个会破裂的东西是不整洁的。这永远不会发生,但我仍然想知道是否有一个适当的方法来避免这样的事情

谢谢

其他信息:

缩短代码:

bttn.addEventListener(MouseEvent.CLICK, browse);
function browse(e:Event) {
    var selectedFilesString:String = mSystem.chooseFiles(chooseFileTitle, initFileName, initFolderName, fileFilter, defaultFileType);
    ...
}
这涉及到这里详述的mSystem.chooseFiles()方法:

但就像我说的,我感兴趣的是这个错误是否有一个错误处理程序。不包括可能导致和不导致的原因,也不包括项目实施是否良好等。

编辑


你可以抓,但只能抓一次。请参阅。

在调用
FileReference.browse()
之前,您可以尝试启动计时器,如果计时器完成而没有执行浏览操作,则会完成调用
FileReference.cancel()

我在使用ZINK将我的应用程序包装成.EXE时遇到类似问题,基本上,脚本在等待用户触发事件时超时,该事件将被激发回操作脚本。事实上,这是一个确认对话框,可能与您在使用不同的外部接口/包装器时遇到的情况完全相同

在最新版本的ZINK中,他们承诺会解决此类问题,但在您的案例中,我会查看mProjector是否有任何异步对话框调用,这些调用不会停止操作脚本,或者甚至可能有一个设置在几秒钟后关闭对话框

如果不是的话,你要么将超时设置为可笑的事情,我同意这感觉非常混乱;但是,您可以将其包装在EXE中,使其至少感觉不那么凌乱,或者使用自己的对话框,远离任何完全停止动作脚本的mProject调用

我在这里看了一会儿,但似乎什么也没有出现,也许你更熟悉:


祝你好运,如果你找到了一个更好的解决方案,请告诉我,因为我很好奇mProject将如何处理它与锌。

我试图通过上面的注释避免这种回答。我确实处于超时发生的情况下。但无论如何还是要感谢你。从他们的API(确实没有使用事件处理来防止这种错误)来看,在我看来,你应该联系mProjector组件的开发人员——这显然是一个设计缺陷。无论如何,我已经编辑了我的答案。谢谢你的链接。那很有趣。很遗憾,你只有一次机会抓住这个。就像我说的:根本不需要抓住这个。如果程序编写得很好,就永远不应该有一个脚本使播放器暂停。因此,作为最后的手段,我想一次就足够了。我看到有一个MapApplication.abortFunction()说它是用于异步调用的,但我认为值得一试,文档如下: