C#, C++ DLLs und variable Übergabeparameter
-
Hallo zusammen,
ich habe ein kleines Problem, mit einer unter C++ geschriebenen DLL und dem Import selbiger in C#.
Sachverhalt ist der folgende:
Ich habe ein eigenes kleines Datenbanksystem unter C++ geschrieben und in einer DLL gekapselt.
Jetzt möchte ich dafür ein schönes grafisches Frontend schreiben, und für solche Dinge finde ich C# recht nett.Nach ein wenig herumprobieren, habe ich es hinbekommen, z.B. folgende C++ Funktion unter C# einlaufen zu lassen:
C++ Prototyp:
//Connect to DataBase int __declspec(dllexport) NGineConnectToDataBase(char *pszPath, char *pszDBName);
C# Implementierung:
[DllImport("NGineDB.dll", EntryPoint = "?NGineConnectToDataBase@@YAHPAD0@Z", ExactSpelling = true, // Bypass A or W suffix search CharSet = CharSet.Ansi, // We want ANSI String CallingConvention = CallingConvention.Cdecl)] public static extern int NGineConnectToDataBase([MarshalAs(UnmanagedType.LPStr)] string pszPath, [MarshalAs(UnmanagedType.LPStr)] string pszDBName);
Das funktioniert soweit ganz gut, jedoch habe ich auch Funktionen mit variablen Übergabeparametern. Folgende Funktion kann beispielsweise bis zu 32 ints/floats/chars/char*s in beliebiger Reihenfolge übergeben bekommen:
//Insert Table int __declspec(dllexport) NGineInsertTable(char *pszTableName, int iColumnCount, ...);
Jetzt bin ich mit meinen (recht beschränkten) C# Kenntnissen am Ende angelangt
Gibt es eine Möglichkeit eine solche Funktion in C# zu implementieren?
Danke schonmal für jede Hilfe
-
-
Ah, klasse - dankeschön