![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 16
|
Для работы с Flash в Delphi использую ActiveX (компонент TShockwaveFlash)
Передача данных в ролик осуществляется с помощью метода что является не совсем удобным в ряде случаев, так как после установки значения переменной необходимо выполнить какие-либо действия. Для решения этой проблемы создаю дополнительный кадр, в котором вызываются нужные функции и, после установки значения переменной, этот кадр проигрываю, примерно так: В кадре FrameNum: Полученное решение крайне неудобное. В то же время у компонента TShockWaveFlash объявлен метод: который, судя по названию, должен вызывать пользовательскую функцию в ролике. Тем не менее эксперименты с использованием данного метода ни к чему не привели. При передаче любого параметра вылетает TOleException "Неопознанная ошибка". Может быть кто-нибудь использовал данную функцию? |
|
|||||
|
В Delphi писал так:
flash.setVariable('varname', 'varvalue'); А во флэше на глобальную переменную вешал функцию отлова изменения значения методом watch. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 16
|
Цитата:
В хелпе написано: Цитата:
Если не сложно напиши небольшой пример кода. |
|
|||||
|
[+3 29.01.08]
Регистрация: May 2004
Адрес: Казахстан
Сообщений: 33
|
Присоединяюсь к MaxxSoft.
Дырку в поиске протёр, но ответа не нашёл. Опишите подробно как юзать setVariables() + watch. |
|
|||||
|
[+3 29.01.08]
Регистрация: May 2004
Адрес: Казахстан
Сообщений: 33
|
Задача наипростейшая, но именно на ней упёрся об стену.
Вообщем на флешке имееся ComboBox, содержимое которого надо загрузить из Delphi. Так понимаю, содержимое ComboBox - строковой массив - ComboBox.labels Моё решение, Ничё не происходит, то есть не могу получить доступ к элементам массива флешки. Или может как сделать varComboBox.addItems() средствами Delphi ? Последний раз редактировалось etc; 30.01.2008 в 19:37. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Arreke, отредактируйте свой пост и оформите код тегами [code][/code].
|
|
|||||
|
[+3 29.01.08]
Регистрация: May 2004
Адрес: Казахстан
Сообщений: 33
|
Спс, __etc, разобрался.
Во флеш: _root.st=""
_root.fun=null
_root.fun1=function(){
varComboBox.addItem(_root.st);
}
var cbFun=function(prop, oldVal, newVal){
_root[newVal]();
}
_root.watch("fun",cbFun);
procedure TForm1.Button2Click(Sender: TObject);
var
i :integer;
begin
for i:= 1 to 3 do begin
ShockwaveFlash1.SetVariable('_root.st', inttostr(i));
ShockwaveFlash1.SetVariable('fun', 'fun1');
end;
end;
Теперь другой, наивный вопрос, зависит ли компонент ShockwaveFlash на Delphi от флеш плеера установленного в системе, то есть будет ли работать мой exe-шник с swf-файлом на компе, где не установлен флешплеер и вообще нет выхода в инет??? Последний раз редактировалось Arreke; 30.01.2008 в 15:52. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Arreke, я где-то написал «Создайте новый пост с отредактированным кодом»? Я просил отредактировать существующий пост, благо такая возможность есть. В следующий раз не забывайте оформлять код.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|