Показаны сообщения с ярлыком flex. Показать все сообщения
Показаны сообщения с ярлыком flex. Показать все сообщения

Белый экран (blank screen) при сборке мавеном с flexmojos 3.9 + Flex SDK 4.5.1

Решили поднять версию Flex SDK до 4.5.1 в pom.xml, сборка прошла без ошибок, все замечательно. Если бы не одно НО, собранная флешка выдавала девственно чистый экран, без каких либо признаков жизни. Хотя размер выходного swf правильный, печалька, одним словом. Погуглив выяснилось, что в pom.xml надо указать принудительно swf-version = 11, что соответствует Adobe Flash Player 10.2.
Итак в разделе configuration добавляем ссылку на внешний конфиг flex-config-swf-version-11.xml

<plugin>
    <groupId>org.sonatype.flexmojos</groupId>
    <artifactId>flexmojos-maven-plugin</artifactId>
    <version>3.9</version>
    ...
    <configuration>
        ...        
        <configFiles>
            <configFile>flex-config-swf-version-11.xml</configFile>
        </configFiles>
    </configuration>
</plugin>

Файл flex-config-swf-version-11.xml должен лежать на одном уровне с pom.xml, в нем указываем swf-version:
<?xml version="1.0"?>
<flex-config>
    <swf-version>11</swf-version>
</flex-config>

Смена локализации в Adobe FlashBuilder

Хороша новая IDE от Adobe - Flash Builder (ранее известная как Flex Builder), но почему меня не спрашивают какой язык интерфейса выбрать! Локализованная версия FlashBuilder выглядит впечатляюще :D



Таким пользоваться только сильно-сильно не любить себя)) Для переключения языка интерфейса с русского на привычный английский надо проделать следующее:

в конфиге Gumbo.ini, который должен находиться по адресу [Install Path]/Gumbo.ini заменить ru_RU на en_EN.

Мной этот конфиг найден не был (его создание тоже не возымело эффекта), НО я нашла конфиг [Install Path]/eclipse-host-distro/eclipse.ini, где и проделала замену ru_RU на en_EN.


В результате FlashBuilder теперь английский!

Использование параметров командной строки в AIR приложениях

Попробую начать серию достаточно вольных переводов популярных статей, посвященных Adobe AIR и Flex, прошу сильно из-за возможных косяков не пинать :D

Итак, приступим. Оригинальная статья называется How do I use command line arguments with my AIR application? .

Многие приложения можно запускать с определенными ключами, переданными из командной строки, зачастую это является очень удобным. AIR также предоставляет такую возможность посредством подписки на событие InvokeEvent. Данное событие содержит аргументы, которые были переданы при запуске или во время работы приложения.

Обработка события InvokeEvent
Для начала надо подписаться на это событие у экземпляра NativeApplication в нашем приложении. Это можно сделать как в MXML, так и c помощью ActionScript :
MXML:

<mx:WindowedApplication
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    invoke="onInvoke(event)">
    ...
</mx:WindowedApplication>


* This source code was highlighted with Source Code Highlighter.

ActionScript :
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
При получении события список переданных аргументов находится в массиве arguments. Например, следующий код выводит список переданных ключей:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    invoke="onInvoke(event)">
    <mx:Script>
    <![CDATA[
        private function onInvoke(event:InvokeEvent):void
        {
            if(0!=event.arguments.length)
                for each (var argument:String in event.arguments)
                {
                    txtArguments.text+=argument+"\n";
                }
        }
     ]]>
  </mx:Script>
  <mx:Label text="Arguments:" x="0" y="0"/>
  <mx:TextArea id="txtArguments" x="0" y="26" width="100%" height="100%"/>
</mx:WindowedApplication>


* This source code was highlighted with Source Code Highlighter.
Если запустить приложение с ключами
TestAir.exe help --user=root
То результатом будет:

Как Вы можете наблюдать AIR не делает разграничения между ключами и их значениями, по сути просто строку входных параметров разделяют по пробелу. Поэтому работу по распознаванию, что есть ключ, а что значение надо проводить самому.

Яндекс.Метрика

Код отслеживания Google Analytics

Powered by Blogger