Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вызвать функцию C++ из флэша (http://www.flasher.ru/forum/showthread.php?t=210706)

Vlad84 24.04.2015 14:44

Вызвать функцию C++ из флэша
 
Реально ли реализовать такую схему: дергаем функцию c++ используя as3, получаем от этой функции фидбек (типа return something). Что-то типа такого:
Код AS3:

// AS3
var n:Number = (C++).getSomeData();
 
// C++
int getSomeData(){
  int n;
  n = 2 + 2;
  return n;
}


Tails 24.04.2015 15:07

http://help.adobe.com/ru_RU/FlashPla...filter_air=2.6

Vlad84 24.04.2015 15:21

У меня не локальный проект, а swf, запущенная в браузере с удаленного сервера.

Tails 24.04.2015 15:54

То есть, вам нужно вызвать c++ функцию в программе, запущенной на сервере? Сформулируйте вопрос более ясно.

Для внешнего вызова в программе, содержащей swf есть ExternlaInterface (Например JS в браузере)
Если нужно обратиться к отдельно запущенной программе, на этой же машине или на любом удалённом сервере, есть классы Loader, URLRequest, Socket или XMLSocket.

Vlad84 24.04.2015 16:11

Есть тулза на c++, со своим sdk. Порта на ас3 нет и не будет. Ее функционал нужно использовать в веб-приложении (html + swf). Т.е. в итоге должна быть swf, в которую будет встроен код этой тулзы.

Tails 24.04.2015 16:39

Просто так взять и встроить с++ код в swf не получится. Swf исполняется флешь плеером, а он не предоставляет такой возможности. Да и у каждого пользователя в браузере свой флеш плеер. Точнее, встроить то можно, но вот запустить - нет.

Объясните, что именно вы хотите сделать? Что делает эта тулза?

gloomyBrain 24.04.2015 16:44

Наверняка кто-нибудь на форуме разбирается в этом лучше меня, но я могу дать наводку - почитайте про Alchemy и FlasCC, например здесь.

Vlad84 24.04.2015 17:46

Цитата:

Сообщение от Tails (Сообщение 1181621)
Просто так взять и встроить с++ код в swf не получится. Swf исполняется флешь плеером, а он не предоставляет такой возможности. Да и у каждого пользователя в браузере свой флеш плеер. Точнее, встроить то можно, но вот запустить - нет.

Объясните, что именно вы хотите сделать? Что делает эта тулза?

Тулза производит многосторонний анализ снятого на камеру видео и выдает по нему отчет.


Про Alchemy что-то слышал, но так и не решился попробовать.

C4Grey 24.04.2015 18:14

Самый простой вариант: залить файл на сервер, обработать его этой программой, выдать результат. Вариант посложнее, как упоминали выше - это FlasCC. Во втром варианте программа на С++ будет интегрирована в флешку, что не-очень то удобно, хотя бы с точки зрения разделения потоков обработки данных и отрисовки UI - во время обработки видеозаписи флешка будет "висеть"(можно, конечно, организовать и многопоточноть с использованием FlasCC, либо собрать эту утилиту в отдельный worker...но вряд ли оно того стоит).

Tails 24.04.2015 18:17

Раз вам требуется только обработка данных, без каких либо операций, выходящих за рамки разрешений браузерного флеша, то наверняка приведённые выше ссылки на Alchemy и FlasCC смогут вам помочь скомпилировать код под флэш плеер.

Это единственный быстрый способ. Иначе, либо переписывать на AS3 вручную, либо запускать либу как отдельное приложение и настраивать соединение.

C4Grey,
Апи флешовых воркеров очень простое, это не должно быть проблемой.


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

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