我需要将一个关联数组从Javascript传递到IE6 +中的C ++ activex控件。为标准的东西编写我自己的类型似乎是一种耻辱。它不必使用本机JS对象,如果需要,我可以使用自定义关联数组类型。
我一直在谷歌搜索几天,关于这个主题没有太多的信息。 COM和ATL必须已经拥有它,不是吗?
答案 0 :(得分:1)
这post Eric Lippert可以阐明如何通过C ++完成它。看看他关于Javascript数组是Dispatch对象的评论。因此,您可以获取DISPID并在每个DISPID上调用Invoke。另一种选择是使用VBArray(以及一点VBScript)将Javascript数组转换为SafeArray
,或者您可以使用Scripting.Dictionary COM对象,它相当于关联数组。下面是一些资源。
http://www.java2s.com/Tutorial/JavaScript/0600__MS-JScript/DictionaryKeys.htm