Autor Beitrag
JEG
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 13.05.11 12:23 
Hallo,

ich bekomme als Rückgabe aus einer COM-Funktion ein Array, das den Datentyp "object[*]" hat. Beim Anschauen im Debug-Modus sehe ich, dass das Objekt eine Liste von Strings ist. Sämtliche Konvertierungsbemühungen schlagen allerdings fehl.

chain ist hierbei mein COM-Objekt, das per chain.Data mir das oben beschriebene Array liefert.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
object otmp = chain.Data;
object[] list;
try
{
  list = (object[])Convert.ChangeType(otmp, typeof(object[]));
}

Ich bekomme die Fehlermeldung "Object must implement IConvertible". Als Typ für otmp wird mir "System.Object[*]" angezeigt.

Danke,
Jörg
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4800
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Fr 13.05.11 14:41 
Hallo JEG,

ich selber kann dir direkt keine konkrete Antwort geben, da ich mich mit COM zu wenig auskenne, habe aber gerade eben diesen analogen Thread im myCSharp-Forum gelesen: Wie kann man double[*] in double [] umwandeln?
Vllt. hilft dir das ja weiter?
JEG Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 13.05.11 16:12 
Danke, das war es - ein Array, das mit Index 1 anfängt...

Vielen Dank und Gruß,
Jörg