C# Array til C++ DLL Function
Hej,Jeg har et maaske simpelt speorgsmaal men synes ikke rigtig jeg kan finde en loesning.
Jeg har en DLL som er skrevet i C++ som jeg proever at kalde i C#. Dette gaar ogsaa fint, men jeg har problemer med parse et array til en vector.
C++ DLL Header:
DLL_EXPORT void Function1(int ID,const std::vector<double>& Params);
C++ DLL main.cpp
DLL_EXPORT int Function1(int ID,const std::vector<double>& Params)
{
//Do Something
}
I min C# Function har jeg foelgende kode:
namespace LVRTCall
{
public partial class Form1 : Form
{
[DllImport("CppFunction.dll", SetLastError = true)]
public static extern void Function1(int ID, double[] Params);
double[] Params = new double[] { 1, 3, 5, 7, 9 };
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "test";
int i = Function1(1, Params);
}
}
}
Jeg er ret sikkert paa at fejlen ligger i at jeg proever at parse et array til en std::vector i C++?
Det skal lige siges at min CPP DLL fil ogsaa bliver kaldt af et andet CP program og derfor har begraenset muligheder for at aendre i C++ funktionerne - helt klart vil jeg fortraekke ikke at aendre i C++ men derimod aendre i mit C# program.
Haaber noget kan hjaelpe mig i den rigtige retning.
/Thomas