LabVIEWForum.de - in .NET initiierte Objekte nach LV übergeben - wie?

LabVIEWForum.de

Normale Version: in .NET initiierte Objekte nach LV übergeben - wie?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Meine Frage zielt auf die Connectivity von .NET und LV.
Ich möchte ein Objekt, welches in C# definiert und initiiert wurde per Referenz an LV übergeben und dort damit weiterarbeiten. Ist das möglich?

Bsp: Objekt "oZahl" wurde in .NET initiiert und die Eigenschaft "oZahl.value" mit einem Wert belegt (=5).
Nun möchte ich in LV diesen Wert auslesen/verändern... ist das überhaupt möglich?
(Anm: Mir ist klar dass es für den einfachen Fall einer simplen Wertübergabe gut geeignete Wege gibt)

Sinn und Zweck der Übung: letztlich möchte ich nämlich eine in .NET initiierte FiWi-Cam an LV übergeben und damit arbeiten.

Meine Erfahrung bislang sagt mir, dass ich nur .NETObjekte in LV verwenden kann, wenn ich sie dort mit einem Construktor-Aufruf initiiere. Was ist aber, wenn dieser Schritt schon außerhalb von LV geschehen ist?

Für eine Lösung oder Anregungen bin ich sehr dankbar!
Beste Grüße!

ps: falls die LV-Version wichtig sein sollte: ich verwende 8.2
:offtopic2:Ich kann zwar nicht zu dem Problem weiterhelfen, da ich bislang auch .NET nur in LabVIEW eingebunden habe.
Was Du aber machen solltest, ist DeinProfil_ergaenzen. In Deinem Profil steht nämlich noch LabVIEW 8.0.

Gruß Markus

' schrieb:ps: falls die LV-Version wichtig sein sollte: ich verwende 8.2
' schrieb::offtopic2:Ich kann zwar nicht zu dem Problem weiterhelfen, da ich bislang auch .NET nur in LabVIEW eingebunden habe.
Was Du aber machen solltest, ist DeinProfil_ergaenzen. In Deinem Profil steht nämlich noch LabVIEW 8.0.

Gruß Markus


stimmt ... kein dummer GedankeBig Grin
So. Nach einem informativen Telefonat mit einem NI-Mitarbeiter hat sich jetzt eine Antwort für mich ergeben:

Wie befürchtet: es funktioniert natürlich nicht. Die innerhalb eines .NET-Assemblys zur Verfügung gestellten Objekte und Methoden sind nur dann nutzbar, wenn sie innerhalb von LV instantiiert werden.

... vielleicht interessiert es ja jemanden ...
' schrieb:So. Nach einem informativen Telefonat mit einem NI-Mitarbeiter hat sich jetzt eine Antwort für mich ergeben:

Wie befürchtet: es funktioniert natürlich nicht. Die innerhalb eines .NET-Assemblys zur Verfügung gestellten Objekte und Methoden sind nur dann nutzbar, wenn sie innerhalb von LV instantiiert werden.

... vielleicht interessiert es ja jemanden ...

Das ist doch auch nicht gut anders möglich! Du benötigst irgendwo ja ein Root Objekt das innerhalb der aktuellen Instanz instantiert wurde um dann davon ausgehend andere Objekte zu erzeugen. Was Du da versuchst klingt irgendwie nach .Net remoting oder wie das heisst und da kommen viele Teufel um die Ecke die ein vollautomatisches .Net Interface wie es in LabVIEW implementiert ist unmöglich machen.

Ich habe mich damit bis jetzt nicht weiter befasst (und werde auch schwer daran arbeiten dass das so bleibt Big Grin) aber die Dinge die dabei plötzlich nötig zu werden scheinen, übersteigen noch das komplizierteste DLL Funktionsinterface für meine Begriffe.

Rolf Kalbermatter
Referenz-URLs