07-22-2010 02:42 AM
Hi,
I have a sub vi I need to execute, but I don't want the VI where it is in to wait until it is done. The only way I know to realize it, is opening a reference to this VI and use the 'run VI' invoke node and set 'wait until done' to false.
Now I generally never do it this way so I have 3 questions:
-Any other way to set 'dont wait until done' ?
-Normally I wire in and outputs to the sub-vi, how does this work with the invoke node
-Can the VI be reentrant without problems?
Thank you!
07-22-2010 04:32 AM - edited 07-22-2010 04:33 AM
I suggest you vote for this idea, so at some point we can have a better way of doing this:
07-22-2010 04:41 AM
I have to add an information to point 2:
There are several other ways to pass data to that subvi. You don't necessarily have to depend on Ctrl.Set Val.
Mechanics which come to mind are:
- Functional Global Variables (FGV, aka Action Engine)
- Queues/Notifiers
There are some other, but either they don't pop up in my mind or i consider them to be "not suggestible".
Norbert
07-22-2010 05:52 AM
Thanks for the help. I'll be using a 1 element queue with a cluster of data in this case, as I need to pass several datatypes.
07-22-2010 12:22 PM
Here's a trick, but it's kind of clunky, and it only works in LV 7.1
07-22-2010 02:26 PM
_Faust wrote:I have a sub vi I need to execute, but I don't want the VI where it is in to wait until it is done.
Please provide more details. If a subVI needs to run in parallel to the toplevel VI, all you need to do is place the icon on the toplevel diagram and avoid data dependencies to the main code.