Я пытаюсь создать расширение для Firefox.Это расширение использует компонент XPCOM (DLL C ++).Я компилирую DLL, с компиляцией все в порядке.
Мне также удалось создать код JS, который создает экземпляр объекта из XPCOM:
try {
greenfox;
return true;
} catch( e ) {
alert( e );
return false;
}
Возвращенный объект:
QueryInterface
QueryInterface()
__proto__
[xpconnect wrapped native prototype] { QueryInterface=QueryInterface()}
QueryInterface
QueryInterface()
Все хорошо, за исключением того, что я не могу вызвать функцию, которая должна быть в моем компоненте XPCOM.
Вот мой файл IDL:
[scriptable, uuid(ec8030f7-c20a-464f-9b0e-13a3a9e97384)]
interface nsISample : nsISupports
{
attribute string value;
void writeValue(in string aPrefix);
void poke(in string aValue);
void start();
double stop();
};
При вызове функции () я получаю ошибку Javascript: «это не функция»
greenfox.start();
У вас есть идеи?Похоже, что в моем XPCOM нет функций.