BuiltWithNOF
Schnittstelle zu C++

.NET erlaubt über einen P/Invoke genannten Mechanismus relativ elegant den Zugriff auf die exportierten Funktionen von C DLLs. Dabei werden auch komplexe Datenstrukturen leicht von einer Welt in die andere übersetzt. So stehen einem .NET Programm letztlich alle Funktionen der Win32 API von Windows zur Verfügung.

Die TechnoTrend API basiert allerdings auf einer so genannten MFC C++ Extension DLL. Dabei werden keine Funktionen, sondern vielmehr C++ Klassen und deren Methoden exportiert. Hier ist die Nutzung über P/Invoke oft nicht trivial. So stehen zum Beispiel bestimmte Funktionalitäten nur über virtuelle Funktionen von C++ Klassen zur Verfügung. Ein konsequenter Mechanismus zur Nutzung verlangt dann letztlich, dass eine .NET Klasse von einer C++ Klasse quasi abgeleitet wird.

In JMS.TechnoTrend.MFCWrapper.DLL ist dies für die wichtigsten C++ Klassen der TechnoTrend API geschehen. Die eigentliche funktionale Basis liefert dazu die Klasse ClassHolder. Nach kurzer Einarbeitung in die hier implementierte Technologie sollte es problemlos möglich sein, bisher nicht abgebildete Funktionalitäten der TechnoTrend API nachzuziehen.