如何在Flash应用程序中扩展默认超时时间?

时间:2008-09-18 09:56:58

标签: flash timeout haxe

我有一个用flash写的应用程序(实际上它是用Haxe编写的,在SHWX下运行,但这里并不重要)。我有一个非常复杂的任务,消耗大量的CPU能力,有时执行超过15秒。如果发生这种情况,我会收到一条错误消息“脚本的执行时间超过了15秒的默认超时时间。”一切都崩溃了。

我知道我可以使用continuation来阻止这种情况发生但有没有办法延长'默认超时期限'?它是一个开发人员工具,责任并不重要。

5 个答案:

答案 0 :(得分:2)

另一种方法是通过-swf-lib开关链接基于swfmill的swf并在那里设置这个ScriptLimits标签,haxe将重新使用它。

答案 1 :(得分:1)

在CS3 +中你只需在发布时设置swf的“脚本时间限制”属性 - 它位于发布设置的flash选项卡中

答案 2 :(得分:1)

  

测试应用程序时,请注意scriptTimeLimit   属性。如果应用程序需要很长时间才能初始化,请使用Flash Player   警告用户脚本导致Flash Player运行缓慢   提示用户中止应用程序。如果是这种情况,   您可以设置标记的scriptTimeLimit属性   更长的时间,以便Flex应用程序有足够的时间   初始化。

     

但是,scriptTimeLimit属性的默认值为60   秒,也是最大值,因此您只能增加该值   如果您之前已将其设置为较低的值。你很少需要   改变这个值。

来源:http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html

答案 3 :(得分:0)

我不确定是否有更多原生内容可以完成此操作,但似乎有command that hacks the SWF to add a ScriptLimits tag来延长超时时间。

答案 4 :(得分:-2)

我建议将你的功能分成更小的块并将它们分散到多个帧上。这样您就可以显示进度动画,Flash应用程序也不会无响应。因此,例如,如果您必须循环超过1000个项目,则在一个帧中执行100个,然后在下一个帧中执行另外100个项目,直到您完全处理它们为止。我不建议你乱砍你的瑞士法郎。