ATL ActiveX控件如何向javascript公开布尔值

时间:2011-06-11 13:28:10

标签: javascript c++ activex atl

我正在使用ATL创建一个ActiveX控件,并尝试使用布尔值公开一个属性。我实现如下:

STDMETHOD(get_Visible)(VARIANT_BOOL *pVal);
STDMETHOD(put_Visible)(VARIANT_BOOL newVal);

在JavaScript函数中,我通过以下代码调用它:

MyAxCtl.Visible = true;
//MyAxCtl.Visible = "true";
//MyAxCtl.Visible = "TRUE";
//MyAxCtl.Visible = "VARIANT_TRUE";
//MyAxCtl.Visible = -1;
//MyAxCtl.Visible = "-1";

然而,它们都不起作用。所以,我的问题是如何将一个布尔值从ATL ActiveX控件公开给JavaScript。

此外,任何人都可以告诉我在哪里可以找到有关ATL类型之间的通信的任何文档可以使用JavaScript类型吗?我想找到一个可以向JavaScript公开的ATL类型列表。

非常感谢, Shupining

1 个答案:

答案 0 :(得分:0)

从您提供的代码中,STDMETHOD是正确的,并且对Boolean的正确JavaScript调用是将其设置为true。

虽然我没有看到您发布的代码出现问题,但请确保其“可见”不是“可见”。

调试时是否正在输入ActiveX调用?