从javascript到activex对象的关联数组

时间:2010-08-10 14:03:57

标签: javascript com activex atl

我需要将一个关联数组从Javascript传递到IE6 +中的C ++ activex控件。为标准的东西编写我自己的类型似乎是一种耻辱。它不必使用本机JS对象,如果需要,我可以使用自定义关联数组类型。

我一直在谷歌搜索几天,关于这个主题没有太多的信息。 COM和ATL必须已经拥有它,不是吗?

1 个答案:

答案 0 :(得分:1)

post Eric Lippert可以阐明如何通过C ++完成它。看看他关于Javascript数组是Dispatch对象的评论。因此,您可以获取DISPID并在每个DISPID上调用Invoke。另一种选择是使用VBArray(以及一点VBScript)将Javascript数组转换为SafeArray,或者您可以使用Scripting.Dictionary COM对象,它相当于关联数组。下面是一些资源。

http://blogs.msdn.com/b/david.wang/archive/2006/07/04/howto-convert-between-jscript-array-and-vb-safe-array.aspx

http://www.java2s.com/Tutorial/JavaScript/0600__MS-JScript/DictionaryKeys.htm