Flash - статьи



              

Использование методов SetVariable и GetVariable для передачи данных между Flash и CBuider


Демонстрации методов SetVariable и GetVariable приведена в проекте, который находится в файле .

Методы объявлены в SockwaveFlashObjects_OCX.h. следующим образом:

void __fastcall SetVariable(BSTR name/*[in]*/, BSTR
value/*[in]*/);

BSTR __fastcall GetVariable(BSTR name/*[in]*/);

Параметр name определяет полное имя переменной, значение которой устанавливается методом SetVariable или запрашивается методом GetVariable. Для метода SetVariable параметр value содержит устанавливаемое значение. Возврат значения переменной в методе GetVariable производится через имя метода.

Обратите внимание, что все параметры и возвращаемое значение имеет тип BSTR.

Итак, пример использования SetVariable и GetVariable

Во Flash создаем ролик, (см. рис. 9) в котором располагаем статический текст и динамический тексты.

Рис. 9. Flash ролик для демонстрации SetVariable и GetVariable

В динамическом тексте меняем его имя на CBuilderText и имя переменной на BcbText (см. рис. 10)

Рис. 10. Свойства динамического текста

Сохраняем Flash ролик под именем BcbToFlash.fla (и BcbToFlash.swf) и приступаем к созданию проекта на CBuilder (см. рис. 11).

Этот проект будет передавать во Flash ролик текст, который будет отображаться в поле динамического текста (имя этого компонента CBuilderText), меняя переменную под именем BcbText. Изменение будет происходить при нажатии на кнопку "Передать" (вызов метода SetVariable).

С помощью ComboBox1 будем менять цвет бордюра вокруг текста. Изменение будет происходить при любой модификации значения в ComboBox1. (опять же метод SetVariable).

Рис. 11. Форма для демонстрации методов SetVariable и GetVariable

И, наконец, демонстрация метода GetVariable с помощью кнопки "Запросить цвет бордюра из Flash ролика" и метки с именем Label3. При нажатии на кнопку в Label3 отобразится значение кода цвета бордюра.

Обратите внимание, что задавать цвет надо в 16-ричном виде, а возвращается он в десятичном. И, естественно, надо не забывать, что все параметры передаются и возвращаются в переменных типа BSTR. Для преобразования можно использовать функцию StringToOleStr и не забывать указывать L перед текстовыми константами.




Содержание  Назад  Вперед