I have been controlling National Instrument's LabVIEW program from AppleScript up thru Mac OS-X 10.4.n
www.ni.com
LabVIEW's dictionary includes:
RunVI v : Run the specified VI
RunVI list of string : The name of the VI to run. It must already be in memory.
Example: With a LabVIEW instrument named "test.vi" in memory, the following AppleScript would start the module as desired.
tell application "LabVIEW"
RunVI {"test.vi"}
end tell
note: return class of "test.vi"
gives "string" in Tiger, but "text" in Leopard
Problem: trying the same code in Leopard gives
AppleScript Error LabVIEW got an error: An error of type 42 has occured.
If under Tiger I try the following code:
tell application "LabVIEW"
RunVI {"test.vi" as Unicode text}
end tell
I get the exact same LabVIEW error 42 as I get in Leopard
What seems to be the problem is that LabVIEW requires the historic "string" type with simple ASCII names.
AppleScript v2.0 in Leopard now makes all "string" classes equivalent to "Unicode text"
Is there some way to create or coerce a variable argument equivalent to the historic "sting" type ??