Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Взаимодействие форм в цинке (http://www.flasher.ru/forum/showthread.php?t=140323)

dammit 26.05.2010 16:23

Взаимодействие форм в цинке
 
Помогите, пожалуйста, может кто знает?

У меня есть две формы: mainForm, subForm. В subForm есть функция, которой я передаю кучу параметров одним масивом и получаю на выходе всякие красивые штуки..
Проблема лишь в том, что весь массив, формируется в основной форме.

Пробывал mdm.Forms.callFunction, но она только строки передает.. Потом попробывал сделать serialize через byteArray для моего массива.. все вроде бы передает, но у меня в массиве есть bitmap, его не хочет передавать :(

Может есть какой-нибудь способ обращаться к переменным формы напрямую?
Типа как mdm.Forms.subForm.variables = 'бла-бла-бла'

Заранее спасибо!

alexcon314 26.05.2010 17:19

Сохраняйте byte array (картинку) во временный файл shared object, потом из главной формы в субформе вызывайте функцию его загрузки. Так имхо получится быстрее. Тем более шареды поддерживают сохранение/чтение byte array без дополнительных усилий по сериализации, т.е. byte array пишется практически как есть.
Правда, может возникнуть ситуация, когда потребуется сохранить большой объем данных, тогда может вывалится окно с предупреждением о превышении размеров хранилища Local Storage.

dammit 26.05.2010 19:29

Спасибо, попробую!

P.S.: Неужели нет более простого способа обратиться к переменным в другой форме?

alexcon314 27.05.2010 00:36

Цитата:

Неужели нет более простого способа обратиться к переменным в другой форме?
Вы же сами написали, что mdm.Forms.callFunction() вас не устраивает из-за формата парамеров (строка). Других штатных способов нет. Сериализовать бинарные данные в строку, потом по получении обратно - единственный способ передачи таковых.
Нет, ну можно еще LocalConnection или пару (Socket + mdm.Network.SocketServer) поднять в обоих формах, гонять данные через них, но только это будет асинхронно и малость "тяжеловеснее". мдм-овский сокет-сервер вроде не бинарный, кстати.
Вот LocalConnection - альтернатива. Но, это, как вы понимаете, вовсе не цинк.


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

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