Hi, could you please tell me what I'm doing wrong...
I'm creating v8::Object like
    V8Obj* a = new V8Obj;
    v8::Handle<v8::FunctionTemplate> myObjTempl =
v8::FunctionTemplate::New();
    myObjTempl->SetClassName(v8::String::New("myObj"));
    v8::Handle<v8::ObjectTemplate> myObjPropTempl = myObjTempl-
>InstanceTemplate();
    v8::Handle<v8::Function> myObjCtor = myObjTempl->GetFunction();
    v8::Handle<v8::Object> myObj = myObjCtor->NewInstance();
    myObj->SetInternalField(0,v8::External::New(&a));

Now I want to have a "signal" property in myObj:

        v8::Handle<v8::FunctionTemplate> signalTempl =
v8::FunctionTemplate::New(V8Obj::signalInvoke);
        v8::Handle<v8::ObjectTemplate> signalPropTempl = signalTempl-
>InstanceTemplate();
        signalPropTempl->SetAccessor(v8::String::New("length"),
V8Obj::LenghtGetter);
        v8::Handle<v8::Function> signalCtor = signalTempl-
>GetFunction();
        signalCtor->SetName(v8::String::New("signal"));
        v8::Handle<v8::Object> signalObj = signalCtor->NewInstance();

Now I publish myObj and set "signal" as function property of myobj
    global->Set(v8::String::New("myObj"), myObj);
    myObj->Set(v8::String::New("signal"), signalCtor);

When running:
    V8RUN("myObj.signal();");  - OK, I get a callback
    V8RUN("myObj.signal.length"); - NOT OK - I dont get callback
LenghtGetter()

However when I do
myObj->Set(v8::String::New("signal"), signalObj); - "length" accessor
works ok, but I get
           <unknown>:6: Uncaught TypeError: Property 'signal' of
object #<a myObj> is not a function

How to make it to work as a function and to be able to set accessor
for the property?
Thanks
Vlad

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to