javascript - 将 Javascript 对象转换为 JSAPIPtr 时出现错误的变体转换异常

标签 javascript c++ com firebreath

我正在初始化一个 Javascript 对象并将其传递给一个已注册的 API 函数,其签名如下:

我检查了来自 Javascript 的变体对象不为空....

JS 文件

初始化按下按钮时调用的函数...

 function Initialize() 
    {
        var Class=function(){this.member1_JS='Red'};
        BorderStyle.prototype.member2_JS='1';
        var obj=new Class();
        plugin().DoTheChanges(obj);

    }

============================================= ========

最佳答案

应该是:

_jsObjPtr= objectFromJavaScript.convert_cast<FB::JSObjectPtr>();

任何来自 javascript 的对象都是 JSObjectPtr;如果它正在对 JSAPIPtr 执行 convert_cast,它将尝试在 JSObjectPtr 中找到您创建的 C++ JSAPI 对象(例如,DicomAPI 对象),该对象在大多数浏览器上实际上不起作用,因为它们隐藏得太深而无法退出.

关于javascript - 将 Javascript 对象转换为 JSAPIPtr 时出现错误的变体转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19066407/

相关文章:

c++ - 计算多边形在网格中旋转后所占的位置

c++ 从 .csv 文件中读取

不使用放置新返回的指针时的 C++ 严格别名

c# - [ComImport] 是否被视为 P/Invoke?

c++ - 如何使用 CAtlComModule 实现 COM 事件接收器?

javascript - 找不到模块 '@angular-devkit/schematics/tasks'

javascript - 如果 Lodash 的条件为真,则返回相同值的三元运算符简写?

c# - 将参数异常转换为 HRESULT?

javascript - 需要帮助调试 - IE 不在网站上显示 jquery 背景 slider

javascript - 有没有办法简化这个 boolean 赋值?