Funktion mit array als Parameter aufrufen: Wie?
-
Hallo!
Ich möchte gerne von einer GUI aus eine Funktion in einer eingebundenen DLL aufrufen.
Der Aufruf mit einem Parameter ist kein Problem, aber jetzt möchte ich auch noch ein Array als Parameter übergeben.Das bekomme ich allerdings nicht hin, und die Parameter kann ich beim Debuggen während der Ausführund der DLL-Funktion nicht überwachen, liegen angeblich außerhalb des Bereiches...
Die DLL-Funktion in der .h der DLL:
public: array<String^>^ DllFunktion(int a, int b[]);
Die DLL-Funktion in der .cpp der DLL:
array<String^>^ Class1::DllFunktion(int Buffer, int Parameter[])
Der Aufruf der DLL-Funktion von der .h der GUI aus:
DllOutput = InstanzMeineDLL.DllFunktion(Buffer, Parameters);
("Parameters" ist ein array in der .h der GUI)
Wie übergibt man ein array als Parameter an eine Funktion?
-
DLL-Exportierbare-Funktionen können keine CLR-Signatur haben, dürfen also nur "native" sein.
Was Du vermutlich willst, ist eine Assembly, welche eine Klasse und darin eine statische Methode ist:
namespace Foo { public ref class Bar { public: static void Method(array<int> ^arg) { } }; }
Dies kannst Du dann in C# mittels:
Foo.Bar.Method(..) aufrufen...