2010-08-10 57 views
0

我需要將Javascript中的關聯數組傳遞給IE6 +中的C++ activex控件。編寫我自己的類型來標準的東西似乎是一種恥辱。它不需要使用原生JS對象,如果需要的話,我可以使用自定義關聯數組類型。從javascript到activex對象的關聯數組

我一直在谷歌搜索了幾天,並沒有關於這個問題的很多信息。 COM和ATL必須已經有了,不是嗎?

回答

1

This post by Eric Lippert可能揭示瞭如何從C++中完成它。看看他對一個Javascript數組作爲Dispatch對象的評論。因此,您可以獲得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