mal wieder stehe ich hier von einem kleinen Problem.
Ich habe eine C++-Bibliothek. Diese möchte ich nach C# portieren.
Ich wrappe diese C++-Klasse also in eine C++ CLI Klasse.
Ich poste hier einfach mal etwas Code, weil es mehr sagt als 1000 Worte.
Code: Alles auswählen
void MYWrapper::getItemNames(array<String^>^ strings)
{
CAtlArray<CString> itemNames;
mImpl->getItemNames(itemNames);
strings = gcnew array<String^>(itemNames.GetCount());
for (int index = 0; index < itemNames.GetCount(); ++index)
{
String^ str = gcnew String(itemNames.GetAt(index));
strings[index] = str;
}
}
Code: Alles auswählen
string[] strings = new string[10];
wrapper.getItemNames(strings);
Wenn ich jedoch debugge, dann wird auf C++ CLI Seite das array schon korrekt befüllt, es kommt nur nix auf C#-Seite an *<:-/
Weiß da jemand was?