Показать сообщение отдельно
Старый 18.05.2011, 18:19
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 1  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
По умолчанию Запуск mxmlc из AIR

Вот кусок кода для запуска компиляции swf из AIR:
Код AS3:
private function runMxmlc():void
{
    var argVector:Vector.<String>               = new Vector.<String>();
    argVector.push(SDK_PATH + "/bin/mxmlc.exe");
    argVector.push(" -output " + SWF_PATH + "lib.swf");
    argVector.push(LIB_CLASS_PATH + "Main.as");
    argVector.push(" -static-link-runtime-shared-libraries=true");
 
    var startupInfo:NativeProcessStartupInfo    = new NativeProcessStartupInfo();
    startupInfo.arguments                       = argVector;
    startupInfo.executable                      = new File("c:/windows/system32/cmd.exe");
 
    _process                                    = new NativeProcess();
    _process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,    onProcessEvent);
    _process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA,     onProcessEvent);
    _process.addEventListener(NativeProcessExitEvent.EXIT,           onProcessEvent);
    _process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onProcessEvent);
    _process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR,  onProcessEvent);
    _process.start(startupInfo);
}
С помощью этого запроса я открываю cmd и пытаюсь запустить mxmlc.exe. По идее должна получиться следующая команда.
Код:
C:\docs\programs\flex_sdk_4.1.0.16076\bin\mxmlc.exe -output C:\docs\work\flash\progects\GenLib\files\lib.swf C:\docs\work\flash\progects\GenLib\files\tmp\Main.as -static-link-runtime-shared-libraries=true
Команда рабочая т.к. при вводе ее непосредственно в cmd, все ок.
Но при запуске air-проекта, lib.swf не создается. Трейсы в onProcessEvent() горорят что происходит только ProgressEvent.STANDARD_OUTPUT_DATA. Содержимое процесса, по сути, это cmd со строкой ввода:
Код AS3:
Microsoft Windows XP [‚&#165;&#224;&#225;&#168;&#239; 5.1.2600]
() &#352;®&#3054;&#224;*&#230;&#168;&#239; &#338;*©&#170;&#224;®&#225;®&#228;&#226;, 1985-2001.
 
C:\docs\work\flash\progects\GenLib>
Подскажите, что делаю не так или намекните как посмотреть, на самом ли деле запускается cmd и как реально выглядит команда на компиляцию.


Последний раз редактировалось Aloran; 19.05.2011 в 16:32.