Laden...

COM - Safearray verarbeiten

Erstellt von Snowwolf3000 vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.022 Views
Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 17 Jahren
COM - Safearray verarbeiten

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

Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 17 Jahren

So konnts selbst lösen. Eigentlich ganz einfach.
Nur falls es jemanden intressiert.


Array temp = (Array)myComObject.GetDescription();
Showmessage(temp.GetValue(0,0));

S
8.746 Beiträge seit 2005
vor 17 Jahren

Ä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.

Snowwolf3000 Themenstarter:in
140 Beiträge seit 2004
vor 17 Jahren

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.