@Partial, heben Sie einen wichtigen Punkt. Sie können ein .NET-Objekt nicht an C++ übergeben (es sei denn, es handelt sich um Managed C++), da die .NET-Objekt-Semantik nicht mit der C++ - Objekt-Semantik identisch ist.
@Cute: Sie können jedoch COM Interface Pointer übergeben. Wenn Sie Ihren "traditionellen C++" -Code benötigen, um mit .NET-Objekten zu kommunizieren, verwenden Sie COM-Interfaces, keine Objekte.
Stellen Sie sicher, dass Ihr Objekt als COM-Objekt markiert ist und dass Sie eine geeignete Schnittstelle implementieren, die die von C++ benötigten Methoden enthält. Übergeben Sie dann ein Array der Schnittstellenreferenzen zurück an den C++ - Code. Der C++ - Code sollte einen SafeArray-COM-Schnittstellenzeiger erhalten, den er mit der üblichen COM-Semantik (AddRef() usw.) manipulieren kann.
Haben Sie versucht, was Earwicker vorschlägt (http://stackoverflow.com/questions/1032060/how-to-return-a-collection-of-strings-from-c-to-c-via-com-interop/ 1032356 # 1032356)? Wenn ja, was genau funktioniert nicht? – sharptooth