07-22-2012 01:54 PM
is it possible to start LabVIEW programmatically? The answer, I suppose, is: "yes", because VIPM does it....
I'd like to realize an application able to start LabVIEW using, I guess, with VI Server.
Do you have some ideas?
Thanks,
Paolo.
07-22-2012 02:54 PM
If you want to use ActiveX, then you can use either early or late binding:
Early Binding:
First set a project reference to "LabVIEW 8.0 Type Library"
Then in code: (Visual Basic obviously)
Dim LV_App As LabVIEW.Application
Set LV_App = New LabVIEW.Application
Late Binding
Dim LV_App
Set LV_App = CreateObject("LabVIEW.Application","")
Early binding means that the reference is set while you are writing your code/script and the library must always be present in order for your code to load properly. Late binding means that the reference is made at run-time and the code can still operate even without the ActiveX library present (obviously you can't reference the missing library but your code could at least display a message that the library is missing). Early binding has the advantage of turning on Intellisense which makes navigating the library easier.
You can also use the LV_App object to load files plus do quite a bit of other things
If you don't want to use ActiveX, you could simply shell it. Most languages support some method of shelling an exe.
07-22-2012 04:26 PM - edited 07-22-2012 04:28 PM
VIPM does not use VI Server to startup LabVIEW. VI Server between different LabVIEW processes is based on TCP/IP communication and can therefore not be used to start up the process. Instead VIPM enumerates the installed LabVIEW versions in the registry and then simply System Exec's the command line to start up the according LabVIEW version.
The ActiveX server interface of LabVIEW is a subset of VI Server and ActiveX supports starting up the according application implicitedly as explained by the previous post already, but generall System Exec (or the equivalent of your programming environment) is the most simple way.