在V8中使用访问器时出现问题

时间:2010-11-27 19:41:04

标签: c++ v8 embedded-v8

我正在围绕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文档,否则就是这样)。

所以我的问题是:我该如何解决这个问题?是否可以将Object转换为ObjectTemplate?

1 个答案:

答案 0 :(得分:4)

SetAccessor上的Object自2010年5月发布的V8 2.2.12开始提供。(在此之前,它确实仅在ObjectTemplate上可用。)您应该更新你的V8副本。