I am passing Control References of graphs and tables with large amounts of data in each (10's of thousands of data points). The goal is not to repeat the data (i.e. variables storing the data in order to pass it around).
Also, when the user interacts with 1 vi, this may trigger analysis on data based on data from other vi's, as well as trigger analysis on other vi's. Many of these data fetching (SQL, and binary file reading) and analysis routines are very time consuming, I therefore wanted to move the processing to hidden vi's (in my case, the top level vi) so the user's screen would not freeze during the processing time (as it would if I had all vi's call a common "Processing" sub vi.)
I use Queue's extensively in the software, and had considered
passing control references in queues, but I wasn't able to re/associate the properties with the reference after it was passed (especially the Value property of multi plot XY Graphs). Globals, although "Bad Form", seam to have all the functionality I'm looking for, but I'm afraid that I may end up with a very unstable product (much like typecasting error clusters into strings, and passing them in queues in LabVIEW 6.0, works great, until you build it!).
Any insight or safer methodologies would be greatly appreciated.