![]() |
Как вызвать Flash функцию из C++?
Связь между C++ и роликом налажена. Ролик вызывает функции С++.
Единственно что неполучается так это сделать вызов функций Flash из С++. Пробую так: v_flash - это контроллирующая переменая ActiveX контейнера. Код:
v_flash.CallFunction("test");Может кто в курсе как это сделать ? |
Я делаю так
Код:
v_flash.SetVariable("_root.RunFunk.FunkParam","предаем значение параметра");Ничего лучше пока не придумал, ежели что найдешь -пиши ;) |
Ок. Спасибо. Я тоже так делаю, я просто думал, может есть более правильный способ.
|
перед тем как вызывать CallFunction во флэше надо сделать
flash.external.ExternalInterface.addCallback где в параметрах и указать имя вызываемой функции, но это ессно только в 8 флэшке появилось |
ShockwaveFlash1.CallFunction('<invoke name="myfunc" returntype="xml"><arguments><string>433333</string></arguments></invoke>');
гы, не ожидали |
я ниразу не ставил перед сабой такой задачи, но возможно можно наладить связь между флешом и с++ приложением через сервер на основе сокетов.
http://flasher.ru/forum/showpost.php...7&postcount=16 я тут как раз примерчик выложил. Влеш предает серверу сообщение Im online и при нажати на квадратик передает сообщение send. Сообщения мжно записывать в очередь и вызывать требуемые ф-ии. Впринципе могу дать исходник серва - просите если надо. Держит 200+ подключений это точно, после 200 устал запускать флеш клиенты =) Работает по ТСП протоколу локально и по сети, неблокирующиеся сокеты.. На каждое подключение вешается 2 треда на прием и отдачу - можете сами дописать если чо надо, там просто. |
CallFunction работает из под C++ если вызывать через IDispatch интерфейс - метод Invoke чтоб не парится с getidsofnames сразу подставляя нужный dispid 0xc6
какого теперь уже компания адобе не предусмотрела вызов по человечески - я хз. |
Хм... очень интересно...
У меня проект на AS 3.0 (Правда это FLEX 2.0). Прописываю в нем ExternalInterface.addCallback("CallMeFromApplication", InternalFunction); Как я понял это определение функции, как внешней и доступ к ней теперь по идее должен. Правильно я понял? Потом берем C++ Builder и атачим туда нашу флешку и пишем что-то подобное - WideString Response = ShockwaveFlash1->CallFunction(WideString("CallMeFromApplication")); Выдает неопознанную ошибку. Возможно я чего-то не допонял?? Помогите плз. Очень нужно! |
| Часовой пояс GMT +4, время: 23:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.