Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Кастинг объекта, присланного по LocalConnection. (http://www.flasher.ru/forum/showthread.php?t=208537)

DEVORON 25.07.2014 00:13

Кастинг объекта, присланного по LocalConnection.
 
От Air во флеш пересылаю данные о файле. Собственный простой класс FileInfo. Допустим, два публичных поля: имя и время модификации. Не важно. Расположение одинаковое и там, и там /utils/FileInfo.as. Могу пересылать как ByteArray через write, а потом на стороне flash делать readObject() или просто объект как он есть. В обоих случая пересылка проходит успешно и я могу получать доступ к полям класса. Но я не могу сделать кастинг as FileInfo или FileInfo(object). В чём может быть проблема?

Кусочек кода, чтобы было понятно.
На стороне Air.
Код AS1/AS2:

var fileInfo:FileInfo = new FileInfo();
fileInfo.name = file.name;
var fI:ByteArray = new ByteArray();
fI.writeObject(fileInfo);
fI.position = 0;

На стороне flash.
Код AS1/AS2:

trace(ByteArray(params.fileInfo).readObject() as FileInfo) //null
trace(ByteArray(params.fileInfo).readObject().name) //filename.txt


Nooob 25.07.2014 01:19

Нужно при чтении и записи зарегистрировать класс для шифрования в AMF. иначе он будет анонимным (просто Object). делается это через registerClassAlias()

DEVORON 25.07.2014 09:45

Спасибо. Заработало.


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

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