I have not used LabVIEW ActiveX VI Server with Perl but can give some
pointers about calling the ActiveX VI Server.
First when invoking the Call method, the VI must be opened and reserved for
call, that is setting the resvForCall parameter to True. It also expects an
array of strings as the parameter name list (these controls/indicators must
be on the connector pane) and an array of variant as the parameters values.
In a Visual Basic Script, that would be:
'********
Dim lvapp,viref,paramNames,paramVals
VIname = "a.vi"
VIPassword = ""
resvForCall = True
paramNames = Array("file")
paramVals = Array("c:\data.txt")
set lvapp = WScript.CreateObject("labview.Application")
set viref = lvapp.GetVIReference(VIname,VIPassword,resvForCall)
viref.Call paramNames
,paramVals
'*********
This piece of code sets the "a.vi" control named "file" to "c:\data.txt" and
calls the VI.
It might be simpler to invoque the "Run" method. The VI is not reserved for
call on open. Before running the VI, use the "Set Control Value" method to
set the input controls (not necessarly on the connector pane). Then run the
VI and use the "Get Control Value" method to retrieve the
controls/indicators values when finished.
I hope that helps
Jean-Pierre Drolet