04-12-2012 09:21 AM
The following information is from one of the developers of VI Server. I have not tested this to see if this is true. One of you who are working on the various flavors of LV Task Manager may want to try this:
When you abort a VI, it aborts all of its subVIs (obviously). It also aborts any dynamically loaded VIs that were started running using the Call By Reference node or the "Fire & Collect" mode of the Asynch Call By Reference node. It does NOT abort any VIs that were loaded dynamically and started running using the Run VI method or the "Fire & Forget" mode of the Asynch Call By Reference.
We knew all that. Here's the new info:
The Abort VI *method* of VI Server should, in theory, abort "Fire & Forget" VIs.
That's intriguing because that could save us a *lot* of work looking up clone VIs if we simply call Abort VI on the *top level VI* of the application, instead of trying to find and abort each top-level VI. It would mean that we have a potential way to abort the whole tree of actors from a single button -- it just cannot be the built-in Abort button.
Anyone tried this?
04-12-2012 10:24 AM
I think that behavior is documented in the help screen for the Run VI. You need to keep or be able to get a copy of the handle used to launch it.
Robert - LabVIEW Architect in need of renewing the exam. I started LabVIEW in version 2.5.2.
04-12-2012 06:45 PM
AristosQueue wrote:
It would mean that we have a potential way to abort the whole tree of actors from a single button -- it just cannot be the built-in Abort button.
Anyone tried this?
I just put together a simple demo to try it out and it does not appear to work with asynch fire & forget. (Of course, I haven't played around with asynch calls in 2011 much so it could be a problem with my code.)