我正在運行我們的adobe air應用程序中的.net.exe文件。 .exe文件接收不同的參數。所以當我必須發送新的參數時,我會停止這個過程並重新開始新的參數。我使用的exit()的NativeProcess
方法,但是當我再次啓動的EXE它給我如何在Adobe AIR桌面應用程序中重新啓動NativeProcess?
Error: Error #3213: Cannot perform operation on a NativeProcess that is already running. at Error$/throwError() at flash.desktop::NativeProcess/start()
我已經初始化的NativeProcess靜態變量:
public static var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
public static var process:NativeProcess = new NativeProcess();
然後在點擊事件中,我已經叫exe文件
var file:File = File.desktopDirectory;
file = file.resolvePath("C:\\somepath.exe");
var ar:Vector.<String> = new Vector.<String>();
ar.push("0");
ar.push("C:\\temp\\APIData.xml");
nativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.arguments = ar;
process.start(nativeProcessStartupInfo);
這運行代碼絕對好。在另一個click事件我打電話
process.exit()
,然後再次運行exe
var file:File = File.desktopDirectory;
file = file.resolvePath("C:\\somepath.exe");
var ar:Vector.<String> = new Vector.<String>();
ar.push("1");
ar.push("C:\\temp\\APIData.xml");
nativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.arguments = ar;
process.start(nativeProcessStartupInfo);
但在這個其他點擊事件,我得到的NativeProcess的錯誤已經在運行。有人能幫助我做錯了什麼嗎?