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
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...
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]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;
}
}
}
[/code]
Die Labview-Skizze
[img]https://i.sstatic.net/3GGiAQnl.png [/img]
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
[b]Frage[/b]: 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...