Search the Community
Showing results for tags 'cpp'.
-
MC8.8 Ich bin dabei meine Algorithmen in eine C#-DLL auszulagern und habe mir entsprechend eine Interop-DLL in C++ geschrieben, die quasi als Wrapper für die C#-DLL agiert. In MC kann ich {self} als Referenz via IEasyLanguageObject übergeben und auch in C++ verwerten, nur scheitert es an der Weitergabe an C#. Die wichtigsten Punkte dazu folgend im Code. Lediglich die Übergabe von IEasyLanguageObject an C# ist so noch verkehrt. Möglicherweise ist die Lösung relativ einfach. Der MC-Support lieferte keine wirklich hilfreichen Informationen. Es wurde sogar die grundsätzliche Möglichkeit der objektorientierten Nutzung in den DLLs verneint. Ich habe dann auf das MC-Forum verwiesen, wo diesbezueglich die ersten Fragen bereits 2007 beantwortet und mit Support unterstüzt wurden. Wichtig ist die CLR-Unterstützung in der Interop-DLL. Das ist bei den Projekteigenschaften mit /clr konfiguriert. // ----- C++ Interop-DLL #include "stdafx.h" #include "TSLib_Interop.h" #include <comdef.h> #import "C:\Program Files\TS Support\MultiCharts64\PLKit.dll" no_namespace double __clrcall TestR(IEasyLanguageObject* pELObj, double _2) { return TS::Class1::TestR(pELObj, _2); } // ------ C# DLL using PLKit; public class Class1 { public static double TestR(ref IEasyLanguageObject elRef, double len) { return 2; } }