Typage et interoperabilité avec composants COM

aarka Messages postés 1 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 21 mai 2007 - 21 mai 2007 à 18:31
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 24 mai 2007 à 22:10
Bonjour,

Débutant en C#, j'essaye de d'appeler une méthode d'un composant COM (Le composant reuters : AdfinXRtLib).
Une fois la méthode invoqué, il faut lire le résultat dans une variable qui normallement contient un tableau.

Néanmoins j'ai un gros problème de typage, le type est (d'après le débugger de visual studio express) :
     
Data    {Dimensions:[1..435]}    object {object[]}

Mais quand j'essaye de transtyper en tableau la variable "Data" j'ai le message suivant :
System.InvalidCastException was unhandled
  Message="Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'."

Je fais :
AdxRtChainClasschain = new AdxRtChainClass();
chain.Source = "IDN";
chain.ItemName = "0#RWEG*.EX";
chain.Mode = "IGNE:YES";
chain.RequestChain();
Console.WriteLine(((object[])(((AdfinXRtLib.AdxRtChainClass)(chain)).Data))[1]);

Je n'y comprend rien...
Quelqu'un peut-il m'aider ?

1 réponse

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 mai 2007 à 22:10
salut,

il est fort probable que ce soit un SAFEARRAY ou un tableau C...il faudra donc voir du côté de l'object Marshal :
http://www.sharevb.net/Les-API-en-VB-Net.html (ce n'est du C# mais le principe reste le même)...

ShareVB
0
Rejoignez-nous