Проблема с использованием аксессоров в V8 - PullRequest
1 голос
/ 27 ноября 2010

Я пишу класс-оболочку для двигателя V8, чтобы в итоге я смог сделать что-то вроде этого

script->createClass("Test");
script->getClass("Test")->addFunction("funct1",testfunct1);
script->getClass("Test")->addVariable("x",setter,getter);

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

Мой шаблон класса хранится как таковой

Persistent<Object> classInstance;

и я пытаюсь добавить Accessor, как это:

this->classInstance->SetAccessor(String::New(variableName),setter,getter);

Компиляция этого кода дает мне ошибку, что v8 :: Object не имеет функции SetAccessor (хотя я видел документацию по Doxygen, которая говорит иначе)

Итак, мой вопрос: как я могу это исправить? Можно ли привести объект к шаблону объекта?

1 Ответ

4 голосов
/ 27 ноября 2010

SetAccessor на Object доступно с версии V8 2.2.12, выпущенной в мае 2010 года. (До этого она действительно была доступна только на ObjectTemplate.) Вероятно, вам следует обновить свою копию V8.

...