2016-07-02 8 views
2

ここでは初心者のプログラミングと私の問題の解決策を見つけることができません。Haxe - プロセスを終了するためにイベントを追加していますか?

私は単にsys.io.Processを介してコンピュータ上で別のプログラムを実行しています。

import sys.io.Process; 
import neko.Lib; 

class Main 
{ 
    static function main() 
    { 

     var cProcess = new Process(pClient + sArgs); 
    } 

} 

"cProcess"が存在する限り、Haxeプログラムを実行したいだけです。 したがって、cProcessが閉じられているときに関数を呼び出すEventhandlerが必要です。

誰もこの問題を解決する方法を知っていますか? 何か提案が歓迎です!

ありがとうございます!

答えて

2

実行するプロセスが完了するのを待っている場合は を呼び出してください。exitCode()を呼び出すと、起動されたプロセスが終了するまでブロックされます。

1

Mihailのソリューションは簡単で、うまくいくはずです。

これ以上のことが必要な場合は、Haxe標準ライブラリのsysパッケージの非同期バージョンであるasysを試すことができます。

var process = new asys.io.Process('your command'); 
process.exitCode().handle(function(code) trace('process exited with code: $code')); 

また、実行しているプラ​​ットフォームによって異なります。 nodejsのようなasync ioのプラットフォームで実行している場合は、単純なものにする必要があります。それ以外の場合は、スレッドを考慮する必要があります。