Wie man eine .net-Struktur in Labview „empfängt“.

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie man eine .net-Struktur in Labview „empfängt“.

by Guest » 28 Dec 2024, 18:41

Ich erstelle eine .net-DLL für einen Kunden, der sie in Labview verwenden wird
Die Methodensignatur, die ich haben möchte, ist
int RequestData(ref myStruct[] data1)
Der Kunde, der mit .net-DLLs möglicherweise nicht sehr vertraut ist, kann keine Möglichkeit finden, dies aufzurufen...also habe ich versucht, es mit dem herauszufinden labview Community Edition.
Schritt 1 bestand darin, einfach zu sehen, ob ich eine „ref“-Struktur an Labview zurückgeben könnte ... und hier ist mein DLL-Code dafür und die Labview-Skizze ...

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace clusterPassing
{

public struct myStruct
{

public string myStr;

public int myInt;

}

public class myClass
{

public int myMethod( ref myStruct data1)
{
data1.myInt = 21;
data1.myStr = "test string";

return data1.myInt;

}

}

}
Die Labview-Skizze
Image

Wenn ich im DLL-Code die Eingabe in myStruct data1 ändere (ohne die Referenz), kann ich sie aufrufen, aber sobald ich sie zur Referenz mache (wie im Code gezeigt) Ich erhalte eine Fehlermeldung - 1316
Frage: Gibt es eine Möglichkeit, dass Labview eine Struktur austauschen und den Wert von der .net-Methode zurückerhalten kann? Ich habe mich in Labview über Cluster informiert, bin mir aber noch nicht sicher, ob das möglich ist...

Top