![]() |
Взаимодействие форм в цинке
Помогите, пожалуйста, может кто знает?
У меня есть две формы: mainForm, subForm. В subForm есть функция, которой я передаю кучу параметров одним масивом и получаю на выходе всякие красивые штуки.. Проблема лишь в том, что весь массив, формируется в основной форме. Пробывал mdm.Forms.callFunction, но она только строки передает.. Потом попробывал сделать serialize через byteArray для моего массива.. все вроде бы передает, но у меня в массиве есть bitmap, его не хочет передавать :( Может есть какой-нибудь способ обращаться к переменным формы напрямую? Типа как mdm.Forms.subForm.variables = 'бла-бла-бла' Заранее спасибо! |
Сохраняйте byte array (картинку) во временный файл shared object, потом из главной формы в субформе вызывайте функцию его загрузки. Так имхо получится быстрее. Тем более шареды поддерживают сохранение/чтение byte array без дополнительных усилий по сериализации, т.е. byte array пишется практически как есть.
Правда, может возникнуть ситуация, когда потребуется сохранить большой объем данных, тогда может вывалится окно с предупреждением о превышении размеров хранилища Local Storage. |
Спасибо, попробую!
P.S.: Неужели нет более простого способа обратиться к переменным в другой форме? |
Цитата:
Нет, ну можно еще 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.