Adobe AIR NativeProcess Hello World - PullRequest
       1

Adobe AIR NativeProcess Hello World

0 голосов
/ 03 января 2011

У меня есть следующее:

<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>

И я добавил

<supportedProfiles>extendedDesktop</supportedProfiles>

в Application.xml, так что я знаю, что NativeProcess поддерживается.Но я получаю:

Ошибка типа: ошибка # 1034: Ошибка приведения типа: невозможно преобразовать flash.filesystem :: File @ 60dfdc1 в flash.desktop.NativeProcessStartupInfo.

Я знаю, что C:/ Program Files (x86) / Windows NT / Accessories / Wordpad.exe существует, потому что я могу вставить его в Проводник.Может быть, я должен избежать косых черт или что-то в этом роде.

Ответы [ 2 ]

2 голосов
/ 03 января 2011

Вы передали файл в myProcess. Я считаю, что вам нужно пройти myStartup. То есть myProcess.start (myStartup).

1 голос
/ 03 января 2011

Рассматривая это немного дальше, я вижу, что вы передаете неправильный тип аргумента методу start () метода NativeProcess

MyProcess.start () ожидает аргумент типа: NativeProcessStartupInfo

Ссылка: http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/desktop/NativeProcess.html

Так что вам нужно передать ей переменную myStartUp.Но я думаю, что вам нужно сначала передать myAirFile в свойство "исполняемого файла" myStartUp.Так что может быть что-то вроде:

myStartup.executable = myAirFile;

myProcess.start (myStartup);

Я не проверял ничего из этого.Я просто собираюсь основываться на том, как я читаю документацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...