LabVIEWForum.de
Struct aus Dll lesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Struct aus Dll lesen (/Thread-Struct-aus-Dll-lesen)



Struct aus Dll lesen - JohnSilver - 20.01.2006 15:32

Hallo,

kann mir jemand helfen wie ich ein Struct aus einer Dll auslesen kann bzw. erstellen kann.

Ich habe unter C ein Struct erstellt, nun wird eine Variable die als Struct definiert ist unter C beschrieben. Nun möchte ich gerne das ganze an LabVIEW übergeben.

Ich weiß, dass man unter LabVIEW CLuster festlegen kann da diese einem Struct unter C entsprechen. Dieses leere Struct übergebe ich nun an C.
Wie muss ich da vorgehen? Hat da vielleicht jemand ein Beispiel parat (LabVIEW und C-Code)????


Danke im voraus
JohnSilver


Struct aus Dll lesen - didierj - 23.01.2006 09:09

Wenn du die dll selbst geschrieben hast, so bist du besser bedient, wenn du sie mit einfachen Datentypen neuschreibst. Das Übergeben von Strukturen zwischen LV und C ist nicht trivial, da ein LV-Cluster und ein C-Struct nicht die gleiche Struktur besitzen (das gleiche gilt auch für andere Programmiersprachen, wie z.B. Delphi).

Wenn du wirklich einen Struct von der dll zurückschieben möchtest, so wirst du in LV ein U8-Array der genauen Länge deines Structs kreieren müssen, den du mit dem Eingangsknoten der "Call Library Function" verbindest.
Den von der dll erhaltene U8-Array (der den Struct darstellt) musst du dann aber über mühsame Typconversionen in die entspr. LV-typen wandeln müssen.

Didier