On Mon, May 19, 2014 at 9:55 AM, Robert Chatman <[email protected]> wrote:
> I am in the process of finishing up implementing a plugin for UE4 that
> leverages V8 for scripting. As such, I've been moving slowly towards making
> the API simple enough that people don't have to get into the guts of V8 too
> deeply. I have to say that the implementation I'm working with (I am
> currently running 3.26.0) has been quite frustrating =\
>
> My current issue revolves around exposing a static method. I have simplified
> the sample down to something that illustrates the issue and hides the rest
> of the implementation.
>
> Example with failure on line 26:
> http://pastebin.com/UNHifKPy
>
> Usage of Expose:
> http://pastebin.com/QxRvTZZH
>
> Signatures & Definition of methods:
> http://pastebin.com/8iwRLhcu
>
> Whenever line 26 is executed an Access Violation is triggered:
> Unhandled exception at 0x00007FFA753CB17F
> (UE4Editor-FH_Flying-Win64-DebugGame.dll) in UE4Editor.exe: 0xC0000005:
> Access violation reading location 0x0000000000000020.
>
> If I comment out the line with the function delegate assignment the code
> runs fine.In the following example, loaded in viat BobTest.js, I am able to
> confirm that Bob is created, that it has creationTime and setActorPosition
> defined, and that the callback/accessors are executed, and that value and
> value2 (set to be the address of the method that failed earlier) are defined
> and correct.
>
> game.log(Bob);
> game.log(Bob.creationTime);
> game.log(Bob.setActorPosition(10, 10, 10));
> game.log(Bob.value);
> game.log(Bob.value2);
>
> [2014.05.19-07.24.29:404][ 14]FH: [object Object]
> [2014.05.19-07.24.29:405][ 14]FH: 0
> [2014.05.19-07.24.29:406][ 14]FH: true
> [2014.05.19-07.24.29:406][ 14]FH: 42
> [2014.05.19-07.24.29:407][ 14]FH: 140713690731404
>
> I've spent a few days trying to sort this one out, and I am needing some
> assistance in sorting this one out. I hope to get this sorted out ASAP so I
> can get the plugin out.
>
> I thank you all for any assistance you provide. Please let me know if there
> is anything else you need to help me out.
>
> .:Bob

It's not immediately clear to me what's wrong but I suspect that
FunctionTemplate::New() returns an empty handle for some reason, i.e.
that ft.IsEmpty() == true.

I'd recommend trying it with a debug build of V8, it has many more
checks enabled.  I don't know how you build V8 but you probably want
to set v8_enable_extra_checks=1 as well (extrachecks=on if you use the
Makefile.)

-- 
-- 
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/d/optout.

Reply via email to