03-28-2024 09:30 AM - edited 03-28-2024 09:31 AM
@crossrulz wrote:
@playerm1 wrote:
Maybe try opening the VI reference by path instead of by name to see if it does anything different.
If using 2024Q1, you can wire the VI reference straight into the Open VI Reference instead of the name or path. I am weirdly excited about this feature.
Just curious how did you get it running with 0x80? If you using Wait On Async Call, then 0x100 is required:
Otherwise error 1577 raised:
?
03-28-2024 09:48 AM
Re: What am I doing wrong with asynchronous call and forget?
While we're waiting for OP's code...
I never actually used Call And Forget nor Call And Collect.
Every now and then I try, because it seems great. But I always run into edit time problems. Crashes, locked VIs and\or locked classes.
Also keep in mind that Open VI Reference needs the root loop to be free when opening a strict VI.
Run this and activate a (vi) menu:
This is pretty important. If you activate a menu (any kind, VI or context), your state machine will hang on Open VI Reference.
So you might want to open VI references at initialization. Easier said then done, as you'd need to know in advance how many references you need.
HOWEVER, and this is GREAT news, LV24 doesn't wait for the root loop:
This does wait for a free root loop:
This doesn't:
03-28-2024 09:51 AM - edited 03-28-2024 09:53 AM
@Andrey_Dmitriev wrote:Just curious how did you get it running with 0x80? If you using Wait On Async Call, then 0x100 is required:
?
There's actually a very simple explanation: I didn't wire up the error coming from the Wait On Asynchronous.
So here's an updated snippet.
03-28-2024 10:02 AM
wiebe@CARYA wrote:.Also keep in mind that Open VI Reference needs the root loop to be free when opening a strict VI.
There is an INI token you can change and have the option of running at any loop. See https://lavag.org/topic/23800-dynamic-calling/?do=findComment&comment=173305
03-28-2024 10:08 AM
@mcduff wrote:
wiebe@CARYA wrote:.Also keep in mind that Open VI Reference needs the root loop to be free when opening a strict VI.
There is an INI token you can change and have the option of running at any loop. See https://lavag.org/topic/23800-dynamic-calling/?do=findComment&comment=173305
Any idea which LV versions support this?
03-28-2024 10:11 AM
@mcduff wrote:
wiebe@CARYA wrote:.Also keep in mind that Open VI Reference needs the root loop to be free when opening a strict VI.
There is an INI token you can change and have the option of running at any loop. See https://lavag.org/topic/23800-dynamic-calling/?do=findComment&comment=173305
Interesting. Does the key change the open to the brown open or does it affect all open VI references? I'll figure it out, some day.
I wander why it's no problem in 24Q1 without the strict VI. It's exactly the same functionality as before, and we where told it's unavoidable.
03-28-2024 10:13 AM
I am using 2021 and it works. Since the original post goes back to 2014, I would assume at least version 2014 or 2015, but probably further back.
03-28-2024 10:13 AM
wiebe@CARYA wrote:
I never actually used Call And Forget nor Call And Collect.
Its a great feature, which is extremely useful in PlugIns-based architecture, helps to avoid crazy structures like this:
This is how I realized "call & Forget" with reenterant helper in LabVIEW 8 in the past.
03-28-2024 10:16 AM
@Andrey_Dmitriev wrote:
wiebe@CARYA wrote:
I never actually used Call And Forget nor Call And Collect.
Its a great feature, which is extremely useful in PlugIns-based architecture, helps to avoid crazy structures like this:
I know. I just can't get over the crashing and locking.
03-28-2024 10:16 AM
Mine stays yellow, right click and then you see the option.