08-27-2005 12:57 PM
08-27-2005 12:59 PM
08-28-2005 02:22 AM
08-28-2005 05:54 AM
Hi tst and congratulations!!! I am honored to here from you
I've attached an LV7.0 version of the VI so it might solve your problem in watching it, if if that doesn't do, there in also a bitmap image of its block diagram.
I am only interested in changing/reading the 'Value' and the 'Value (signaling)' properties, which are available seperately for each element of the array (look into the example VI)
By "child refereces" I am refering to refnums of objects in the lower hierarchy of sum contol (like the ones derived from the 'Controls[]' property in relation to a cluster object - as I showed in the bitmat example at the 2nd coresspondance)
The hierarchy objects I am refering to are VIs, Panels, Tabs, Pages, Clusters and of course Arrays...
Mel
08-28-2005 06:33 AM
I see what you're saying, there is something weird when you write to a specific element using the Value property, but I still don't get the point - if you want to get the value of an array element, use Index Array. If you want to set the value of an array element with signaling, use Replace Array Subset and write the entire data back to the array using the array's value property. If you just want to change the value without signaling, use a local variable. Why do you feel that you must do it by manipulating each array element individually by reference?
Also, I couldn't find any Controls[] property for a subpanel (other than that of the VI) and since tabs and pages are basically the same things, it means you basically only have tabs and clusters as containers with internal objects (I consider front panels obvious).
08-28-2005 08:14 AM
I have already implemented such a system and it is working great! as long as I don't need to programmatically interact with array elements on the remote GUI...
08-28-2005 08:42 AM
How about using the VI class method Set Control Value or its variant sibling?
That's basically what's it there for - to allow you to open a connection to a remote VI and set a control's value by name. It's true that this way you will have to do some more manipulation if you are dealing with an array (read it and write back), which is prone to race conditions, but I don't think writing to a specific element will prevent that either.
Another thing you may want to consider for such applications is dynamic loading of VIs using VI server methods. You can search for "plug ins" or "VI loader" to find some more details on this. Also, I think chapter 17 of the user manual deals with the programmatic control over other VIs.
08-29-2005 02:01 AM
08-29-2005 02:32 AM
08-29-2005 04:38 AM - edited 08-29-2005 04:38 AM
Message Edited by shoneill on 08-29-2005 11:43 AM