Erstellt am:
03 Sep 2007 13:38
COM-Typen konvertieren in .net-Typen (MarshalAS )
Hallo,
ich möchte von einer VB6 DLL eine C# DLL (1.1) aufrufen und mehrere Parameter übergeben (string a, string b, int[] c). Das Problem ist der Array. Ich habe jetzt schon so viele MarshalAs Attribute ausprobiert, die ja alle gehen sollten, aber nix läuft. Ohne Int[] läuft das ganze.
Meistens kann VB 6 die DLL Methode nicht erkennen, oder es werden die Übergabeparameter nicht dargestellt.
Hier eine Auswahl:
[MarshalAs(UnmanagedType.SafeArray, SafeArraySubType=VT_I4)] int[] ar
oder
[In, MarshalAs(UnmanagedType.LPArray, ArraySubType=UnmanagedType.I4 , SizeConst=10)] int[] ar
Hat das schon mal einer gemacht?
VG Andreas
|