LabVIEWForum.de
Rückgabewert aus DLL-Methode mit C#-Struktur - 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: Rückgabewert aus DLL-Methode mit C#-Struktur (/Thread-Rueckgabewert-aus-DLL-Methode-mit-C-Struktur)



Rückgabewert aus DLL-Methode mit C#-Struktur - jakob.brunner - 30.11.2009 13:10

Salü zäme
Ich gestehe, bin blutiger Anfänger mit LabVIEW. Momentan versuche ich mich mit der Einbindung von DLLs, welche ich unter MS-C# erstelle. Methoden mit Rückgabewerte aus normalen Typen, wie auch Array funktionieren. Nun möchte ich eine Methode anwenden, welche verschiedene Werte aus verschiedenen Datentypen (Struktur) an LabVIEW zurück gibt.
Das DLL kann ich aktivieren, die Eingabeparameter setzen. Als Rückgabewert bekomme ich eine Referenz. Mein Wunsch wäre es nun, die Daten in einen Cluster abzufüllen, welcher den gleiche Aufbau hat (gleiche Anzahl von Datenfeldern mit enstprechenden Datentypen). Aber jetzt weiss ich nicht mehr weiter.
Wie kann ich diese Referenz aus dem Methodenknoten .NET aufnehmen und die Daten in diesen Cluster bringen.
(LabVIEW 8.6)

Wer kann mir hier etwas unter die Arme greifen?
Besten Dank und schöner Tag (bei uns schneit es!!)
Jakob Brunner


Rückgabewert aus DLL-Methode mit C#-Struktur - abrissbirne - 01.12.2009 13:04

C:ProgrammeNational InstrumentsLabVIEW 8.6examplesdlldata passing

Evt. helfen dir die Beispiele weiter.


Rückgabewert aus DLL-Methode mit C#-Struktur - rolfk - 01.12.2009 21:54

C# und DLL Funktionen? Ich dachte mit C# macht man eigentlich ausschliesslich .Net Assemblies. Die sehen aus wie DLLs aber funktionieren anders. Da verwendet man die .Net Nodes in LabVIEW.


Rückgabewert aus DLL-Methode mit C#-Struktur - jakob.brunner - 04.12.2009 06:57

Hallo, nun es ist ja letztlich egal, wie man was benennt. Das Problem bleibt ja das gleiche. Wie kann ich Daten, welche in einer Struktur von einer Methode zurückgegeben sind, im LabVIEW einlesen und verwerten.
Ja, es sind NET-Assamlies und ich habe sie über .Net-Nodes in LabVIEW eingelesen. Aber ich habe es noch nicht geschafft, eine Struktur auf Werte in LabVIEW zu verwandeln.
Freundliche Grüsse
Jakob Brunner


Rückgabewert aus DLL-Methode mit C#-Struktur - RoLe - 04.12.2009 13:00

Ich arbeite mich zurzeit auch in die C#/..NET Welt ein, und habe mir eine Assembly gemacht.
Ich verwende dort z.Bsp. die struct LASTINPUTINFO für die Funktion GetLastInputInfo aus der user32.dll mit Interopt.

Da dachte ich, schaue ich mal ob ich das in LabVIEW einbinden kann.
So (siehe Bild) komme ich an die Struktur, vielleicht hilft dir das was.

Weiter hat LV2009 eine neue Funktion, Building a .NET Interop Assembly


Rückgabewert aus DLL-Methode mit C#-Struktur - jakob.brunner - 04.12.2009 22:34

Hallo RoLe
Danke, dies war genau der richtige Hinweis. Ist ja einfache als ich gedacht hatte.
Nun kann ich weitermachen!
Besten Dank und Gruss
Jakob