LabVIEWForum.de - dll mit Pointer auf komplexe Struktur einbinden

LabVIEWForum.de

Normale Version: dll mit Pointer auf komplexe Struktur einbinden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
(18.04.2014 15:10 )Wedgewood schrieb: [ -> ]Erstelle ich also einen Haupt-Cluster. In diesem sind:
Cluster von 26 x U8
Cluster von 20 x U8
...
INT32 (da 32 Bit OS)
INT32
Ich weiss nicht wie bei Dir WV_OPERATING_MODE und Co definiert ist. Wenn das ein Integer ist dann weisst Du die Grösse. Wenn es ein enum ist macht C den so gross wie nötig um das höchste numerische Element darstellen zu können.

Bei weniger als 256 Elementen (respektive der grössten explizit zugewiesenen Zahl) könnte es also ganz einfach auch ein U8 sein!! C spezifiziert hier keine exakte Grösse und jeder Compiler ist frei einen int, oder auch einen kleineren Datentyp zu verwenden wenn die grösste Enumkonstante da hineinpasst.

Zitat:und diesen Cluster packe ich gemäß
Code:
typedef struct {
   WV_BED_DESCRIPTION WvBeds[256] ;
} WV_BED_LIST ;
256 mal in einen weiteren Haupt-Haupt-Cluster?

Das geht zum Glück einfacher: Initialize Array mit Deinem Cluster als Eingang und 256 als Grösse, dann dieses Array an den CLN Parameter anschliessen der als "An Datentyp anpassen", "Array Datenzeiger" konfiguriert ist.
Hallo,

vielen Dank für die nette Unterstützung und die zahlreichen Tipps.
Prinzipiell hat es auch funktioniert. Der Tipp mit dem Array zum Erstellen war praktisch.
Leider frisst mein Cluster-Monster auf der Einkern-CPU sämtliche Rechenzeit, selbst beim Verschieben.

Letztlich hat sich bei mir die Lösung mit der Wrapper-DLL auf C# Basis durchgesetzt.

Aber gelernt habe ich bei dieser Aktion auf jeden Fall etwas. Nochmals vielen Dank, vor allem an Dich Rolf.

Liebe Grüße

Benjamin
Seiten: 1 2
Referenz-URLs