I'm trying to call a LabVIEW VI from C# using LabVIEW's ActiveX
interface.  I've successfully imported LabVIEW.tlb and can do a few
simple things like load a VI into memory and run it.

But things get more complicated when I need to use a cluster output
from one VI as the input to another.  The return value of
GetControlValue is, unfortunately, a System.Object refnum.  This is
useless for passing into LabVIEW: it's just a pointer.

How to I get C# to pass the System.Object refnum in as a Variant
containing the actual cluster data instead of a Variant containing a
32-bit pointer?  I'd even settle for flattening the C# object to some
kind of string, but the ToString() method is useless: it returns
"System.Object[]" instead of an actual representation of the data.

Reply via email to