Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 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.
Старый 18.05.2011, 19:22
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Класс NativeProcess и его возможности доступны только для приложений AIR, установленных с помощью собственной программы установки (то есть для приложений с профилем расширенного рабочего стола). В ходе отладки можно передать аргумент -profile extendedDesktop в ADL, чтобы обеспечить возможность выполнения процессов NativeProcess.
Что говорит NativeProcess.isSupported?

Старый 19.05.2011, 12:09
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 3  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
выдает true
extendedDesktop прописан в application.xml
буду признателен если подскажите как задать в FD аргументы для ADL

Старый 19.05.2011, 12:22
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Не подскажу ибо не пользуюсь FD

Старый 19.05.2011, 16:32
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 5  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
вопрос до сих пор актуален.

Старый 19.05.2011, 16:43
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 6  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Кстати, зачем финт ушами с запуском cmd? Что мешается сразу запустить mxmlc?

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

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Сделал так
Код AS3:
private function runMxmlc():void
{
    var argVector:Vector.<String>               = new Vector.<String>();
    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:/docs/programs/flex_sdk_4.1.0.16076/bin/mxmlc.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);
}
вот лог:
Код:
argVector =  -output C:\docs\work\flash\progects\GenLib\bin\files\just.swf  C:\docs\work\flash\progects\GenLib\bin\files\tmp\Main.as  -static-link-runtime-shared-libraries=true


standardOutputData
Loading configuration file C:\docs\programs\flex_sdk_4.1.0.16076\frameworks\flex-config.xml
standardOutputData
Adobe Flex Compiler (mxmlc)
Version 4.1.0 build 16076
Copyright (c) 2004-2009 Adobe Systems, Inc. All rights reserved.

standardErrorData
Error: unable to open ' -static-link-runtime-shared-libraries=true'
standardErrorData
Use 'mxmlc -help' for information about using the command line.
exit
запустился mxmlc, но параметры я передаю как то не так...

___________________

Нашел ответ:
Код AS3:
    var argVector:Vector.<String>               = new Vector.<String>();
    argVector.push(" -output=" + SWF_PATH + "lib.swf");
    argVector.push(LIB_CLASS_PATH + "Main.as");
после -output должен стоять знак "="...

alatar спасибо за помощь


Последний раз редактировалось Aloran; 19.05.2011 в 19:08.
Старый 19.05.2011, 19:16
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
argVector.push(" -output " + SWF_PATH + "lib.swf");
argVector.push(LIB_CLASS_PATH + "Main.as");
argVector.push(" -static-link-runtime-shared-libraries=true");
Пробелы перед "-" уберите.

Добавлено через 4 минуты
+ все параметры с пробелами (кроме путей к файлам) должны быть разбиты на несколько параметров.

Добавлено через 5 минут
т.е. нельзя писать:
Код AS3:
args.push("-help list");
надо
Код AS3:
args.push("help");
args.push("list");

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.