2011-01-03 7 views
0

私は、次のしている:のAdobe AIRにNativeProcessのHello World

<body> 
<script> 
var myAIRFile = new air.File('C:/Program Files (x86)/Windows NT/Accessories/Wordpad.exe'); 
var myProcess = new air.NativeProcess(); 
var myStartup = new air.NativeProcessStartupInfo(); 
myStartup.executable = myAIRFile; 
myProcess.addEventListener(air.ProgressEvent.STANDARD_OUTPUT_DATA, myOutputData); 
myProcess.start(myAIRFile); 

function myOutputData(myEvent){ 
    alert('success!'); 
} 
</script> 
</body> 

そして私はのApplication.xmlに

<supportedProfiles>extendedDesktop</supportedProfiles> 

を追加しましたので、私はNativeProcessオブジェクトがサポートされていることを知っています。 しかし、私は得ています:

タイプエラー:エラー#1034:強制型変換が失敗しました:flash.filesystem :: File @ 60dfdc1をflash.desktop.NativeProcessStartupInfoに変換できません。

私はC:/ Program Files(x86)/ Windows NT/Accessories/Wordpad.exeは、エクスプローラに貼り付けることができるので、私は知っています。 たぶん私はスラッシュか何かをエスケープする必要があります。

答えて

1

、私はあなたが型の引数を期待している)にNativeProcess

MyProcess.start(のstart()メソッドに誤った引数の型を渡していることを参照してください。のNativeProcessStartupInfo

参照:http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/desktop/NativeProcess.html

したがって、myStartUp変数を渡す必要があります。しかし、私はあなたがmyStartUpの "実行可能"プロパティにmyAirFileを最初に渡す必要があると思います。だから多分何かのように:

myStartup.executable = myAirFile;

myProcess.start(myStartup);

私はこれをテストしていません。私はドキュメントをどのように読んでいるかに基づいています。

+0

ありがとうございました!あなたとRayの両方がそれを手に入れました。 –

2

ファイルをmyProcessに渡しました。私はあなたがmyStartupを渡す必要があると信じています。つまり、myProcess.start(myStartup)です。もう少しこのに探し

+0

ありがとうRay(そしてDean!) –