05-23-2017 12:00 PM
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! )
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!
05-30-2017 04:15 PM
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