2010-08-10 6 views
0

Je dois passer un tableau associatif de Javascript à un contrôle C++ activex dans IE6 +. Il semble dommage d'écrire mon propre type pour quelque chose d'aussi standard. Il ne doit pas fonctionner avec des objets JS natifs, je peux utiliser un type de tableau associatif personnalisé si j'en ai besoin.tableau associatif de javascript à objet activex

J'ai été googler pendant quelques jours et il n'y a pas beaucoup d'informations sur ce sujet. COM et ATL doivent déjà avoir ça, n'est-ce pas?

Répondre

1

Cette post par Eric Lippert peut faire la lumière sur la façon dont cela pourrait être fait à partir de C++. Jetez un oeil à ses commentaires sur un tableau Javascript étant un objet Dispatch. En tant que tel, vous pouvez obtenir les DISPID et appeler le Invoke sur chacun d'eux. Une autre option consiste à convertir le tableau Javascript en SafeArray en utilisant VBArray (et un peu VBScript), ou vous pouvez simplement utiliser l'objet COM Scripting.Dictionary, qui est l'équivalent d'un tableau associatif. Quelques ressources sont ci-dessous.

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

Questions connexes