Найдено результатов: 16

Разгрузка ByteArray используя Actionscript 3

Как я могу принудительно выгрузить ByteArray из памяти с помощью ActionScript 3?

Я попробовал следующее:

// First non-working solution
byteArray.length = 0;
byteArray = new ByteArray();

// Second non-working solution
for ( var i:int=0; i < byteArray.length; i++ ) {
    byteArray[i] = null;
}

arrays   actionscript-3   flex    

488   8   16:03, 1st July, 2020


SQLStatement.execute()-несколько запросов в одном операторе

Я написал сценарий генерации базы данных в SQL и хочу выполнить его в своем приложении Adobe AIR :

Create Table tRole (
    roleID integer Primary Key
    ,roleName varchar(40)
);
Create Table tFile (
    fileID integer Primary Key
    ,fileName varchar(50)
    ,fileDescription varchar(500)
    ,thumbnailID integer
    ,fileFormatID integer
    ,categoryID integer
    ,isFavorite boolean
    ,dateAdded date
    ,globalAccessCount integer
    ,lastAccessTime date
    ,downloadComplete boolean
    ,isNew boolean
    ,isSpotlight boolean
    ,duration varchar(30)
);
Create Table tCategory (
    categoryID integer Primary Key
    ,categoryName varchar(50)
    ,parent_categoryID integer
);
...

Я выполняю это в Adobe AIR, используя следующие методы:

public static function RunSqlFromFile(fileName:String):void {
    var file:File = File.applicationDirectory.resolvePath(fileName);
    var stream:FileStream = new FileStream();
    stream.open(file, FileMode.READ)
    var strSql:String = stream.readUTFBytes(stream.bytesAvailable);
    NonQuery(strSql);
}

public static function NonQuery(strSQL:String):void {
    var sqlConnection:SQLConnection = new SQLConnection();
    sqlConnection.open(File.applicationStorageDirectory.resolvePath(DBPATH));
    var sqlStatement:SQLStatement = new SQLStatement();
    sqlStatement.text = strSQL;
    sqlStatement.sqlConnection = sqlConnection;
    try {
        sqlStatement.execute();
    } catch (error:SQLError) {
        Alert.show(error.toString());
    }
}

Ошибки не генерируются, однако существует только tRole . Похоже, что он смотрит только на первый запрос (вплоть до точки с запятой - если я удалю его, запрос не будет выполнен). Есть ли способ вызвать несколько запросов в одном операторе?

flex   actionscript-3   air    

490   3   16:03, 1st July, 2020


Использование нескольких баз данных SQLite одновременно

У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.

Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .

Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .

В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?

actionscript-3   flex   sqlite   air   adobe    

543   3   16:03, 1st July, 2020


Использование нескольких баз данных SQLite одновременно

У меня есть 2 базы данных SQLite, одна загружена с сервера (server.db), а другая используется в качестве хранилища на клиенте ( client.db). Мне нужно выполнить различные запросы синхронизации в клиентской базе данных, используя данные из базы данных сервера.

Например, я хочу удалить все строки в таблице client.db tRole и повторно заполнить все строки в таблице server.db tRole .

Другой пример: я хочу удалить все строки в таблице client.db tFile , где fileID не находится в таблице server.db tFile .

В SQL Server вы можете просто префиксировать таблицу с именем базы данных. Есть ли вообще возможность сделать это в SQLite, используя Adobe Air?

actionscript-3   flex   sqlite   air   adobe    

718   3   16:03, 1st July, 2020


Flex / Air обфускация

Я написал (большую часть) приложения в Flex, и я озабочен защитой исходного кода. Я запустил демо - версию trillix swf decompiler и открыл swf-файл, который был установлен в мой каталог Program Files. Я увидел, что все пакеты actionscript, которые я написал, были там. Я не слишком беспокоюсь о пакетах, даже несмотря на то, что существует значительное количество кода, потому что он все еще кажется довольно непригодным для использования без файлов mxml. Я думаю, что они преобразованы в actionscript, или, по крайней мере, я надеюсь. Однако я все же хотел бы исследовать запутанность.

Есть ли у кого-нибудь опыт работы с Flash / Actionscript 3 / Flex обфускаторы? Можете ли вы порекомендовать хороший продукт?

flex   actionscript-3   air   obfuscation    

500   4   16:03, 1st July, 2020


Откройте локальный файл с помощью AIR / Flex

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

Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.

Мое последнее средство-просто скопировать файл на их рабочий стол : \

flex   actionscript-3   air    

479   5   16:03, 1st July, 2020


Откройте локальный файл с помощью AIR / Flex

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

Я ищу способ предложить пользователю открыть / Сохранить как локальный файл, хранящийся в каталоге хранения приложений. Я пробовал использовать классы FileReference + URLRequest, но это вызывает исключение, что ему нужен удаленный url.

Мое последнее средство-просто скопировать файл на их рабочий стол : \

flex   actionscript-3   air    

583   5   16:03, 1st July, 2020


Как мне перестроить аккордеон Adobe Flex, чтобы включить кнопку в каждый заголовок холста?

Вот пример кода для моего аккордеона:

<mx:Accordion x="15" y="15" width="230" height="599" styleName="myAccordion">
    <mx:Canvas id="pnlSpotlight" label="SPOTLIGHT" height="100%" width="100%" horizontalScrollPolicy="off">
        <mx:VBox width="100%" height="80%" paddingTop="2" paddingBottom="1"  verticalGap="1">
            <mx:Repeater id="rptrSpotlight" dataProvider="{aSpotlight}">            
                <sm:SmallCourseListItem 
                    viewClick="PlayFile(event.currentTarget.getRepeaterItem().fileID);"
                    Description="{rptrSpotlight.currentItem.fileDescription}"
                    FileID = "{rptrSpotlight.currentItem.fileID}"   
                    detailsClick="{detailsView.SetFile(event.currentTarget.getRepeaterItem().fileID,this)}" 
                    Title="{rptrSpotlight.currentItem.fileTitle}"
                    FileIcon="{iconLibrary.getIcon(rptrSpotlight.currentItem.fileExtension)}" />
            </mx:Repeater>
        </mx:VBox>
    </mx:Canvas>
</mx:Accordion>

Я хотел бы включить кнопку в каждый заголовок, например:

wishful" onclick="alert('xss')

flex   actionscript-3    

469   2   10:11, 15th August, 2020


Flex: существует ли безболезненная программная привязка данных?

До сих пор я только немного занимался разработкой Flex, но я предпочитал подход создания элементов управления программно над файлами mxml, потому что (и , пожалуйста, поправьте меня, если я ошибаюсь!) Я понял, что вы не можете иметь его в обоих направлениях-то есть иметь функциональность класса в отдельном файле класса ActionScript, но иметь содержащиеся элементы, объявленные в mxml.

С точки зрения производительности разница невелика, но программная привязка данных кажется несколько менее тривиальной. Я посмотрел, как компилятор mxml преобразует выражения привязки данных. В результате получается куча сгенерированных обратных вызовов и гораздо больше строк, чем в представлении mxml. Итак, вот в чем вопрос: есть ли способ сделать привязку данных программно, которая не включает в себя мир боли?

flex   actionscript-3   data-binding   mxml    

435   4   08:53, 20th August, 2020


Как вызвать Flex SWF из удаленного домена с помощью Flash (AS3)?

У меня есть Flex swf, размещенный в http://www.a.com/a.swf . У меня есть код flash на другом doamin, который пытается загрузить SWF:

_loader = new Loader();
var req:URLRequest = new URLRequest("http://services.nuconomy.com/n.swf");
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoaderFinish);
_loader.load(req);

На событии onLoaderFinish я пытаюсь загрузить классы из удаленного SWF и создать их:

_loader.contentLoaderInfo.applicationDomain.getDefinition("someClassName") as Class

Когда этот код выполняется, я получаю следующее исключение

SecurityError: Error #2119: Security sandbox violation: caller http://localhost.service:1234/flashTest/Main.swf cannot access LoaderInfo.applicationDomain owned by http://www.b.com/b.swf.
    at flash.display::LoaderInfo/get applicationDomain()
    at NuconomyLoader/onLoaderFinish()

Есть ли способ заставить этот код работать?

flex   flash   actionscript-3   security    

528   3   01:46, 1st August, 2020


Рекомендации по синтаксическому анализу AS3 XML

У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:

TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".

Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.

Есть ли какой-нибудь верный способ разобрать XML внутри Flash?

Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:

data = new XML(mainXMLLoader.data);

//  calculate the total number of entries.
for each (var i in data.channel.item){
    _totalEntries++;
}

Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?


Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?


@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded

xml   flash   actionscript-3   rss   fileparse    

564   10   01:33, 24th August, 2020


Как получить метку Combobox, чтобы исчезнуть в Flex

У меня есть комбо-бокс, который сидит внутри панели в Flex 3. В основном я хочу, чтобы исчезла панель, используя эффект затухания в ActionScript. Я могу заставить fade работать нормально, однако метка комбо-бокса не исчезает. У меня была такая же проблема с кнопками и обнаружил, что их шрифты должны быть встроены. Не проблема. Я встроил шрифт, который я использовал, и метки кнопок исчезли правильно. Я пробовал аналогичный подход к комбинированному окну, но он не исчезает с выбранной метки элемента.

Вот что я сделал до сих пор: Добавьте код для шрифта в верхней части моего MXML в сценарий:

[Embed("assets/trebuc.ttf", fontName="TrebuchetMS")]
public var trebuchetMSFont:Class;

В моей функции инициализации

//register the font.
Font.registerFont(trebuchetMSFont);

combobox-е mxml:

<mx:ComboBox id="FilterFields" styleName="FilterDropdown" 
  left="10" right="10" top="10"
  fontSize="14">
  <mx:itemRenderer>
    <mx:Component>
      <mx:Label fontSize="10" />
    </mx:Component>
  </mx:itemRenderer>
</mx:ComboBox>

И стиль, который я написал, чтобы получить шрифты, примененные к комбинированному окну:

.FilterDropdown
{
  embedFonts: true;
  fontFamily: TrebuchetMS;
  fontWeight: normal;
  fontSize: 12; 
}

Причина, по которой я должен был написать стиль вместо размещения его в атрибуте "FontFamily", заключалась в том, что стиль сделал весь текст в поле со списком правильным шрифтом, где атрибут "FontFamily" только заставил элементы в раскрывающемся списке использовать правильный шрифт.

flex   actionscript-3    

491   5   16:37, 26th August, 2020


Рекомендации по синтаксическому анализу AS3 XML

У меня были некоторые проблемы с разбором различных типов XML внутри flash (в частности, FeedBurner RSS файлов и YouTube Data API ответов). Я использую URLLoader для загрузки файла XML, а после Event.COMPLETE создаю новый объект XML. 75% время от времени это работает нормально, и время от времени я получаю этот тип исключения:

TypeError: Error #1085: The element type "link" must be terminated by the matching end-tag "</link>".

Мы думаем, что проблема заключается в том, что XML является большим, и, возможно, событие Event.COMPLETE запускается до того, как XML фактически загружается с URLLoader . Единственное решение, которое мы придумали, - это установить таймер на событие, и по существу "wait a few seconds", прежде чем начать анализировать данные. Конечно, это не может быть лучшим способом сделать это.

Есть ли какой-нибудь верный способ разобрать XML внутри Flash?

Update Sept 2 2008 мы пришли к следующему выводу, что в этот момент в коде срабатывает исключение:

data = new XML(mainXMLLoader.data);

//  calculate the total number of entries.
for each (var i in data.channel.item){
    _totalEntries++;
}

Я разместил оператор try/catch вокруг этой части и в настоящее время отображаю сообщение об ошибке на экране, когда это происходит. Мой вопрос заключается в том, как неполный файл дойдет до этой точки, если bytesLoaded == bytesTotal ?


Я обновил исходный вопрос с отчетом о состоянии; я предполагаю, что другой вопрос может быть в том, есть ли способ определить, правильно ли проанализирован объект XML перед обращением к данным (в случае ошибки, если мой цикл подсчета количества объектов начинается до того, как XML фактически анализируется в объект)?


@Theo: Спасибо за подсказку ignoreWhitespace. Кроме того, мы определили, что событие вызывается до его готовности (мы провели несколько тестов трассировки mainXMLLoader.bytesLoaded + "/" + mainXMLLoader.bytesLoaded

xml   flash   actionscript-3   rss   fileparse    

575   10   07:52, 26th August, 2020


Каковы правила для именования классов AS3?

Я пытаюсь написать RegEx для генератора кода (в C#), чтобы определить правильный класс или имя пакета класса AS3.

Я знаю эти названия классов

  • должно начинаться с буквы (заглавной или иначе)
  • любая другая цифра может быть буквенно-цифровой
  • не может иметь пробелов

Есть еще что-нибудь?

actionscript-3   naming   convention    

389   3   19:36, 3rd August, 2020


Создать EXE из SWF, используя Flex 3, не требуя AIR?

У меня есть простое небольшое тестовое приложение, написанное на Flex 3 (MXML и некоторые AS3). Я могу скомпилировать его в SWF просто отлично, но я хотел бы сделать его в EXE, чтобы я мог дать его нескольким моим коллегам, которые могут найти его полезным.

С Flash 8 я мог бы просто нацелить EXE вместо SWF, и это обернуло бы SWF в проектор, и все работало нормально. Есть ли эквивалент этому, используя Flex 3 SDK, который в конечном итоге не требует AIR?

Примечание: у меня нет Flex Builder, я просто использую бесплатный Flex 3 SDK.

flex   actionscript-3   flash    

496   3   03:18, 25th August, 2020


Компонент flvplayback проблемы с памятью

Мой сайт полностью основан на flash, он перемещается вокруг модели 3D, которая была предоставлена мне в виде фрагментов видео, которые я преобразовал в файлы FLV. Я использую компонент FLVPlayback для управления видео внутри моей программы. При выполнении проверок памяти с помощью System.totalMemory я заметил, что всякий раз, когда загружается видео, оно съедает кусок памяти, и даже когда я удаляю из него все прослушиватели событий(все они слабо связаны), удаляю компонент из его родительского элемента, останавливаю видео и null экземпляр компонента, он все равно не вернет эту память.

Это беспокоило меня с тех пор, как я начал работать над этим проектом из-за огромного количества видео, которое пользователь может потенциально создать и загрузить. В настоящее время каждое видео загружается в новый экземпляр FLVPlayback всякий раз, когда это требуется, но я прочитал, что, возможно, лучший способ решить эту проблему-просто иметь глобальный экземпляр FLVPlayback и просто перезагрузить новое видео в старый экземпляр, таким образом, в памяти приложения будет только один компонент FLVPlayback.

Кто-нибудь еще столкнулся с этой проблемой? Вы нашли лучшее решение, чем использование глобального экземпляра, который вы просто повторно используете для каждого нового видео?

actionscript-3   memory   video   flash    

464   5   02:37, 15th August, 2020