首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暂停程序直到JSFL文件完成

暂停程序直到JSFL文件完成
EN

Stack Overflow用户
提问于 2011-09-07 05:28:46
回答 5查看 743关注 0票数 1

我正在尝试从一个C#项目中运行一个JSFL脚本,该脚本打开一个.fla文件,对其进行n次修改,然后在关闭之前导出n个.swf文件。在C#项目中,我通过Process类启动了JSFL脚本。我尝试通过myProcess.WaitForExit()命令等待JSFL进程完成,但它不起作用。我的代码C#的其余部分在JSFL进程完成导出其.swf文件之前执行。有没有办法抛出C#项目可以从JSFL文件或其他解决方案中捕获的东西?

EN

回答 5

Stack Overflow用户

发布于 2011-09-07 05:37:46

一种解决方案(尽管很可能不是最好的)是让您的C#代码查找正在创建的SWF文件。只有在更新/创建了它们之后,JSFL脚本才会完成,这样您就知道C#可以安全地继续运行了。如果无法知道C#程序需要查找多少SWF文件,您可以让C#脚本写入某种类型的日志文件,并让JSFL程序按一定的时间间隔读取该日志,寻找某种标记来指示JSFL脚本已经完成了它的任务。

诚然,这可能远不是最好的方法(而且我对C#的了解还不够深入,无法知道您看到的是设计好的还是有问题的迹象)。但可能的情况是,运行JSFL/Flash是完全异步的,如果是这样的话,日志文件方法可能是解决问题的最快途径。

票数 2
EN

Stack Overflow用户

发布于 2011-10-21 05:57:31

我在另一个调用外部JSFL脚本的应用程序中也遇到了同样的问题。

我所做的是在完成后将一个文件写入目标目录,并在调用的应用程序中轮询该文件。一旦文件出现,我就知道任务已经完成,我删除了临时文件,然后继续。哦-在开始之前,我会查找并删除所有临时文件,这样我就不会得到误报。

它不像活动那样好,但你必须利用你已经拥有的东西。

票数 2
EN

Stack Overflow用户

发布于 2012-07-10 19:39:29

您是否尝试过设置一个自定义侦听器,该侦听器将在JSFL完成时执行函数。不要忘记,它仍然是基于ECMA的,ECMA是一种过程化语言。顺便说一句,JSFL有一个低级的C API。C LEVEL API

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7326394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档