ni.com checkout is currently experiencing issues.
Support teams are actively working on the resolution.
ni.com checkout is currently experiencing issues.
Support teams are actively working on the resolution.
06-05-2014 05:59 PM
If you want an example, I use them in the Measurement Utility code. I believe they're handled when a Measurement finishes in order to handle any errors (been a few months since I looked at the code), but they're definitely in there in several locations.
06-08-2014 10:44 PM
Like I said, this is probably fairly obvious to others, but I actually had to look at what was going on. In my case, I had the launch actor vi error out running to the actor core error in which caused the actor core of the caller to immediately bomb. Just poor error handling - in this case, the launch actor VI was attempting to launch a device that used a serial port that was not available. The case was not catastrophic so I didn't intend for the calling actor to close - I just wanted to let the caller know via the last ack that the actor it had launched was not available. I corrected this issue, but I had to dig into the lower level VIs to really understand exactly why the last ack was not handled as it was not immediately apparent to me from the documentation.
Cheers, Matt
06-09-2014 11:31 AM
I'll take a look at the documentation. That's useful feedback.
06-09-2014 08:21 PM
This is a screen shot of how I use this method in the Controller Actor of the Measurement Utility. If a nested actor doesn't return an error upon shutting down, the first two images illustrate how I use the method to ensure certain operations are performed: if it's a configuration actor that shut down without error, I save the configuration (to a file on disk) - if it's a measurement actor that shut down without error, the controller's private data is modified to reflect that the measurement has been completed successfully.
The last image illustrates what happens if a nested actor did shut down with an error. I designed the system so that no nested actor can shut down the controller. As you can see, the error is recorded and thrown away so that the controller keeps running.