Hallo,
ich muss von meinen Programm auf eine COM-Komponente zugreifen. Soweit auch kein Problem. Hab den Verweis hinzufgefügt und die entsprechenden Com-Objekte erstellt. Allerdings liefert mir eine Funktion ein SafeArray zurück (genauer ein zweidimensionales Array) und ich versteh absolut nicht wie ich in C# darauf zugreifen kann. Könnte mir bitte jemand einen Typ geben.
HRESULT GetDescription(
[out] SAFEARRAY(VARIANT) *DESCRIPTION);
Gruß
Snowwolf
So konnts selbst lösen. Eigentlich ganz einfach.
Nur falls es jemanden intressiert.
Array temp = (Array)myComObject.GetDescription();
Showmessage(temp.GetValue(0,0));
Äh, wenn du das COM-Objekt deinem Projekt hinzufügst, bekommst du doch einen .NET-Wrapper. Insofern hast du doch mit dem SafeArray nix mehr zu tun.
Ja stimmt schon. Wenn ich das in .net einfüge ist es nur noch ein Objekt von Typ "object" (oder aus Com-Sicht Variant).
Allerdings muss ich es ja wieder in was vernünftiges zurück casten (was ja mein Problem war) und deshalb hab ich halt mit angegeben das es mal ein SafeArray war.