从 javascript 到 activex 对象的关联数组
Posted
技术标签:
【中文标题】从 javascript 到 activex 对象的关联数组【英文标题】:associative array from javascript to activex object 【发布时间】:2011-03-27 20:38:16 【问题描述】:我需要将一个关联数组从 javascript 传递到 IE6+ 中的 C++ activex 控件。为如此标准的东西编写自己的类型似乎很可惜。它不必与原生 JS 对象一起使用,如果需要,我可以使用自定义关联数组类型。
我已经在谷歌上搜索了几天,关于这个主题的信息并不多。 COM 和 ATL 必须已经有了这个,不是吗?
【问题讨论】:
【参考方案1】:Eric Lippert 的 post 可能会阐明如何从 C++ 中完成它。看看他关于 Javascript 数组是 Dispatch 对象的 cmets。因此,您可以获得 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
【讨论】:
以上是关于从 javascript 到 activex 对象的关联数组的主要内容,如果未能解决你的问题,请参考以下文章
Javascript/Excel ActiveX 对象。查找完全匹配
使用 Javascript ActiveX 对象触发 C# dll
ActiveX 多线程调用 javascript 回调例程中的问题