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

发布于 2024-10-18 00:53:20 字数 270 浏览 9 评论 0原文

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

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

说(伪代码):

JSprototype foo
{
    method bar(baz);
}

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

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

五里雾 2024-10-25 00:53:20

这就是 IDispatch::Invoke 的用途。您不需要为每个函数使用单独的IDispatch。但是,您确实需要bar的DISPID,因此需要fooIDispatch。这意味着您必须调用 iFoo->Invoke(DISPID_bar)QueryInterface(IDispatch) 来获取结果。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文