If you only want to display the data, you can use a subpanel and place the subVI in it. This will solve all your problems.
If you do want to use the data, you can use any of the methods described here, as well as global variables, which are probably the fastest to implement, but have problems of their own.
The reason you need to pass the reference as a control is because the reference, similar to a pointer, is like the "address" of the variable (or control, in this case) whereas the terminal only holds its value (for example, T or F for a boolean).
To transfer the references to many controls, you can give the subVI the reference to main VI itself and then use the property Front Panel>>[Controls] to get an array of references to all the controls on the front panel of the main VI. You will need to search that array to find the controls you're looking for. If you have unique names for controls, you can simply go over all the elements (using a for loop) and read the "label.text" property. Keep in mind that controls in a tab control don't appear in this list.
You can also get only the references you want in the main VI, build them into an array, and pass that array into the subVI.
Hope this helps.
Message Edited by tst on 04-03-2005 11:04 AM
___________________
Try to take over the world!