Zeichenkette char aus C++ DLL in c# empfangen
-
Hi Folks,
ich möchte eine Zeichenkette (char[]) aus einer c++ DLL auslesen. Leider kracht der Aufruf mit einer exception zusammen.
Folgendes habe ich gemacht:extern "c" { __declspec(dllexport) char* GetAddress(int iNr) { return(cStr[iNr]); } }
[/code]
[DllImport("InterComHBM.dll", CallingConvention = CallingConvention.Cdecl)] public static extern char* _GetAddress(int iNr);
Wie muss ich in c# diese Zeichenkette einlesen?
Danke für eine Hilfe!
Dieter
-
Warum nicht einfach
[DllImport("InterComHBM.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] public static extern string GetAddress(int iNr);
-
Zunächst ein Danke!
DarkShadow44 schrieb:
Warum nicht einfach
[DllImport("InterComHBM.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] public static extern string GetAddress(int iNr);
Hat leider nicht funktioniert. Habe aber eine Lösung gefunden:
[DllImport("InterComHBM.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] public static extern void _GetQuantumName(int iNr, StringBuilder Mybuffer); StringBuilder buffer = new StringBuilder("12345678901234567890"); //als Test _GetQuantumName(i, buffer); StQAdress = buffer.ToString(); . . .
Gruß Dieter