Does anyone know how you can call a method of a prototype in Javascript from C++?

I have an pointer to script IDispatch, and I can get the IDsOfNames for the prototype, but I can't find how to get the IDispatch of it's member function.

Say (pseudocode):

JSprototype foo
{
    method bar(baz);
}

I can get a valid DISPID of foo, but I don't know how to call bar(baz). Does anyone have an idea?

有帮助吗?

解决方案

That's what IDispatch::Invoke is for. You don't need a separate IDispatch for every function. However, you do need a DISPID of bar, and therefore an IDispatch of foo. That means you'll have to call iFoo->Invoke(DISPID_bar) and QueryInterface(IDispatch) the result.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top