Hi, this is somethings that's had me stumped for the past 6 hours now.. I have an object template which has a setter and getter for the object "update" which simply set/get an object handle accessible to both the setter and getter (see "Things I've tried".) An object is instantiated within the global context called "world" from this object template. A script is then run which sets "world.update" to a function with a basic output message. The program then gets the update function and calls it which works exactly as intended - printing some output. The program then gets the update function again, but the update function is now a string - the output from the original call. Trying to call it leads to an exception.
The code: http://pastebin.com/i33nLWby The script (main.js): http://pastebin.com/X3GZRdbV The output: Set update() [update] Get update() [update] Did a world.update() Get update() [update] Caught2: Uncaught TypeError: Did a world.update() is not a function Without the object template (i.e. with just a regular object in javascript without the getter/setter combination) the program functions fine but I'd like to be able to use this to have the script manage callbacks. Why does this happen and what am I doing wrong? Things I've tried: - In the code I use an internal field pointing to a Handle<Function> object though I have tried using a global variable and using plain old object handles - no differences were noted here. - Get'ing the update function but not calling, then get'ing again. This proves the call is part of the cause - Get'ing and calling, followed by calling from the internal field (no difference.) - Calling directly from the internal field (worldUpdateFunc.func); first call is successful, after this the internal field is no longer a function (can't figure out what it is as it returns false to all the Is* functions) and the program segfaults somewhere random in V8?? Thanks, James. -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
