05-18-2011 01:27 PM
For the first question: There are basically 3 ways to update an indicator: direct write to a terminal, local variable, VI server properties/methods. The VI server approach does not give you the transfer buffer that you have with local variables. When you use, for example, the Value property node, the node must fully execute (meaning the front panel has to be updated) before it returns to the VI. Thus, if you have the indicator on a separate VI's front panel and you have a reference to that indicator in the VI that's generating the data, when you use the Value property node to update that indicator, your data generation VI will essentially stop until the Value property node has completed (which requires that the panel be updated). Based on your description, it sounds like this is precisely what you are trying to avoid. In this case it sounds like the solution you had used with the queue would work here to basically replace the transfer buffer (e.g., by making the queue 1 deep, for instance). You could also use the Defer Panel Updates method, but as for which will be faster in this case I couldn't really tell you since there are several factors involved.
For the second question: Well, this is a bit hard to answer, since each new LabVIEW version brings LabVIEW closer and closer to sentience. It might be a while before it achieves complete sentience, but when it does, I, for one, will welcome our new overlord. As for the best places to get the information you're looking for, the LabVIEW Help is definitely the first place I'd look, since there is a wealth of information in there. There is also a lot of information in the NI KnowledgeBase. For other online sources, the LAVA forums is a good place to go, as well as the blogs of some NI (and non-NI folks), like expressionflow.com or Darren's blog.