NativeProcess的问题

时间:2013-06-07 21:02:55

标签: actionscript-3 air flash-cs6

我把头发拉了出来。

我有一个使用ActionScript 3.0和Adobe AIR 2.7的Flash Professional CS6项目。

我有一个非常重要的类,它使用NativeProcess与命令行可执行文件通信。当我在Flash Professional中调试程序时,它运行得很好,但是一旦我将它打包为Adobe AIR(扩展桌面配置文件),安装的程序就不会响应任何内容,因为它正在静静地挂起这段代码。它不会崩溃,只是停止运行代码。

file = File.applicationDirectory.resolvePath("deepcore/" + module + ".exe");
startup.executable = file;
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, addToBuffer);
process.start(startup);

当我评论startup.executable = fileprocess.start(startup)时,它可以正常工作。

我检查并仔细检查部署的版本是否支持NativeProcess(NativeProcess.isSupported返回true。)

我的所有导入都正常运行。

为什么我的代码讨厌我?

1 个答案:

答案 0 :(得分:1)

哈,好吧,我现在感觉有点傻了。

您可能会注意到,我的路径位于应用程序目录中。在Flash中进行调试时,会出现“deepcore / * .exe”路径(*为模块名称)。

但是,安装后,这不再有效,因为已安装的应用程序目录中不存在该路径,并且没有提供非工作文件目录。

在发布设置中,我添加了deepcore文件夹,一切正常。 (是的,我调整了我的代码以检查文件是否存在。)