2016-08-10 5 views
0

J'ai mis le filet depuis un certain temps et peut-être qu'il n'y a pas de solution à mon problème, mais j'espérais que vous pourriez être en mesure de m'aider. J'essaie actuellement d'établir une connexion à CatiaV5 via JavaScript. La connexion elle-même fonctionne très bien. Fondamentalement, il ressemble à ceci maintenant:VB Collection en JavaScript

var catia = new ActiveXObject('CATIA.Application'); 
var doc = catia.ActiveDocument; 

Mais voici mon problème. L'objet retourné est un Collection en VB et il semble n'y avoir aucun DataType équivalent à ceci. Donc, c'est ce que je reçois quand j'essaie de lire mes variables. Par exemple:

doc.Product 

retours

[object] {}; 

Donc, cela semble être vide. Toutefois, si je tente d'obtenir

doc.Product.Name 

qui, par cette logique doit être non définie, au lieu que je reçois

"Part1" 

donc le nom correct de ma part/produit est retourné.

Tous les trucs Catia ne sont probablement pas pertinents pour la question.

ma question: Est-il possible d'analyser en quelque sorte un VB-Collection sur un objet JavaScript ou quelque chose de similaire, pour obtenir le contenu de ce qui est retourné?

Répondre

0

OK,

Voici la chose. J'ai découvert que vous ne pouvez pas vraiment naviguer via ActiveXObjects directement dans la console en général. Dans IE-Dev-Tools, je pouvais cependant utiliser Locals-Watch pour parcourir l'objet. Je n'ai pas trouvé un moyen sympa de l'analyser sur un objet JSON, mais la manière manuelle de créer un nouvel objet et d'ajouter les clés fonctionne morceau par morceau.