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?