LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Recursion Error with Dynamic Dispatch + Shared Clone

I'm using LV 2013, fp2. I have a small class with a Dynamic Dispatch SubVI, Parse.vi, which is configured for Shared Clone reentrancy. When I try to run this recursively, LV throws an error: "Attempted recursive call." (yes, I know LabVIEW, that's the goal! Smiley Happy )

Load child from file, call child's parse.

The purpose of Parse.vi is to instantiate a Child class based on partial string input, then run Child.Parse.vi with the remaining string input. The Child may override Parse.vi to pre-process the input, but it will eventually call Parent.Parse.vi.

 

The internet says Dynamic Dispatch + Shared Reentrancy is possible, so why am I getting this error?

https://forums.ni.com/t5/LabVIEW/dynamic-dispatch-and-reentrant/m-p/893612#M403399

http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_recursive_mem_vis/

 

Thanks for any help!

0 Kudos
Message 1 of 2
(2,470 Views)

It might be beneficial to post a small reproducing case of this if you are able and the issue is still occurring so that the community can take a look given that the answer to this may reside in settings that are not obvious from the block diagram.

 

Just to confirm, you've checked that the VI is not set to pre-allocate for each clone and you have set it to share clones correct?

 

Thanks,

Alex

Alex W.
0 Kudos
Message 2 of 2
(2,372 Views)