2010-11-27 80 views
1

我寫周圍的V8引擎的包裝類,最終使我能夠做這樣的事問題使用訪問在V8

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

到目前爲止,我可以創建類,添加功能將這些程序它完美的工作,但我遇到了添加變量的問題。

我的類模板存儲爲這樣

Persistent<Object> classInstance; 

,我嘗試添加一個訪問是這樣的:

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

編譯此代碼給我,V8 ::對象不出錯有一個SetAccessor函數(雖然我見過doxygen文檔,否則說)。

所以我的問題是:我該如何解決這個問題?是否有可能將Object轉換爲ObjectTemplate?

+0

您能告訴我們您看到的確切錯誤嗎?而你正在使用的V8版本?我在這裏看到了`Object`上的`SetAccessor`方法,它是2.5.7。 – 2010-11-27 19:55:15

回答

4

SetAccessorObject自2010年5月發佈的V8 2.2.12開始提供。(在此之前,確實僅在ObjectTemplate上有效)。您應該更新V8的副本。