LabVIEW as an ActiveX server or ActiveX client can interface with other programs from the LabVIEW programming interface. In this case, LabVIEW acts as the automation client and requests information of the automation server, or other program. Likewise, other ActiveX automation clients can interface with the LabVIEW ActiveX automation server. Common programs used are Microsoft Visual Basic and Microsoft Visual C++.
LabVIEW as an Automation Client
LabVIEW provides functions in its API that allow LabVIEW to act as an automation client with any automation server. The diagram below shows LabVIEW's programming flow, and gives the associated functions with each block.
In general, information about a program’s ActiveX automation server can be obtained from the program’s documentation or by browsing the program’s type library. Often, LabVIEW is used as an automation client for Microsoft Office programs and their object models are available online from Microsoft.
LabVIEW as an Automation Server
Other programs can interface with the LabVIEW automation server using ActiveX automation. Using an automation client, it is possible to programmatically launch LabVIEW, open and run VIs, and pass their data back to the calling program. The automation client interfaces with the LabVIEW type library which is located in the \labview\resource directory. By browsing this type library, information about the classes that LabVIEW exports is available. In general, LabVIEW exports a creatable class, Application, and a dispatch class, VirtualInstrument. Additionally, LabVIEW executables can be ActiveX automation servers. Automation clients such as LabVIEW or another LabVIEW executable can access ActiveX automation servers.