如何获得原型成员函数(C ++ - > Javascript)

时间:2011-02-17 12:49:10

标签: c++ com atl idispatch

有谁知道如何在C ++中用Javascript调用原型方法?

我有一个指向脚本IDispatch的指针,我可以获取原型的IDsOfNames,但是我找不到如何获取它的成员函数的IDispatch。

Say(伪代码):

JSprototype foo
{
    method bar(baz);
}

我可以获得foo的有效DISPID,但我不知道如何拨打bar(baz)。有没有人有想法?

1 个答案:

答案 0 :(得分:0)

这就是IDispatch::Invoke的用途。每个函数都不需要单独的IDispatch。但是,您执行需要bar的DISPID,因此需要IDispatch foo。这意味着您必须调用iFoo->Invoke(DISPID_bar)QueryInterface(IDispatch)结果。