Страницы: 1
Работаем с флешем. Есть на страничке swf-ка
И из моего расширения надо взять значение переменной в ней.
я и беру:
var movie = window.content.document.embeds[swfIndex].wrappedJSObject;
var value = movie.GetVariable(variable);
и все хорошо.
Но возникла надобность сделать это их сишного xpcom
И какие бы варианты кода я не писал (найденного в сети) и что бы я не делал при вызове GetVariable либо просто не срабатывает, но чаще всего просто программа валится с "любимой" сишной ошибкой "0x00000005". Причем объекты вроде в порядке - я могу добыть все свойства этого movie. Только функцию не позвать
Ежели кто делал подобное - пришлите образец вызова второй строчки
var value = movie.GetVariable(variable);
Чесслово - заработает - пойду пошлю вам сотку баксов, достало уже...
Свой код не привожу - там уже такое мясо... а толку 0
Отсутствует
Если этот GetVariable вызывается нормально только из JavaScript, то можно сделать обёртку для него. Создать интерфейс для XPCOM компонента, реализовать его на JavaScript и оттуда вызвать функцию GetVariable, а уже из плюсов вызывать обычным способом функцию из этого XPCOM компонента.
Отсутствует
Это самый простой способ. Т.к. насколько мне известно нативный код из Flash и обратно можно вызывать, только через JavaScript.
А почему не пойдёт?
В требованиях сказано чтобы ни строчки JavaScript'ового кода не было? Основная работа всё равно останется на сях...
Напоследок... В большинстве случаев если объект получается через wrappedJSObject то он преимущественно будет нормально работать только в JavaScript.
Отсутствует
Требования... просто надо побольше работы с флешем спрятать в си. js-то разархивировал и правь-не хочу...
Либо действительно сделать js-функцию с получением переменной и вызывать ее из сей? Так-то можно?
А можно ли в си-мотоде xpcom-а узнать откуда его позвали? Ну хотябы из какого js-файла...
Отсутствует
Либо действительно сделать js-функцию с получением переменной и вызывать ее из сей? Так-то можно?
Можно. Точнее сделать компоненту на JavaScript и вызывать её из C++.
А можно ли в си-мотоде xpcom-а узнать откуда его позвали? Ну хотябы из какого js-файла...
Наверное... http://www.mozilla.org/scriptable/javascript-stack-dumper.html
Отсутствует
SlavaV
var movie = window.content.document.embeds[swfIndex].wrappedJSObject; var value = movie.GetVariable(variable);
Это вызывается из страницы или из расширения?
--- ---
Отсутствует
Страницы: 1