Hi, Am working to get all the control and indicators names from a VI which am calling in my .net c# code. I am using interop.LabVIEW. dll. It doesn't expose any method to get the control names in the VI.Also i want to get the connector pane information in my c# code. I am following this link. https://forums.ni.com/t5/Example-Programs/Running-or-Calling-a-VI-using-the-LabVIEW-ActiveX-Automati...
I came across this topic, So, is there any workable solution on this?
Probably not beyond the solution already proposed earlier in the thread. VI Server was introduced in LabVIEW 5.0 (almost 22 years ago) and had a fairly limited interface at that time. It had three major interface possibilities, the first was the native interface through property nodes, the remote TCP/IP interface and ActiveX. They had about the same feature set back then. After that the internal VI Server interface got extended with every new LabVIEW version and the TCP/IP interface got adapted accordingly as far as the functionality was considered safe for remote access. The ActiveX interface however only got minor updates and never any fundamental extension of functionality, one reason probably being that it was anyhow not a multiplatform technology in LabVIEW. And with the current state of ActiveX and LabVIEW it never will!
ActiveX is a legacy technology even if some of the underlaying COM technology is still used in .Net nowadays.
The future is going to be LabVIEW NXG with its heavily .Net based user layer and most extensibility in there is based on .Net.
So if you want to make this work you have to create a VI with a known name and interface that you can call with the current ActiveX interface and include that in your LabVIEW project and configure the ActiveX interface to allow access to it. Then call that from your external client and bootstrap your own interface based on this.