LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic dispatch recursion shared clones error

This may be super obvious, but I'm missing it. Why doesn't this work:

I have a base class with a dynamically dispatched member VI which takes an enum and calls itself to build up a string (possibly not a great way of doing this, but disregard for the moment). A child class inherits from this and overrides the action on one of the values, but calls the parent method on the others. When I attempt to run this VI with an enum value that causes recursion (in this case "Nested 2"), I get error 0x412 / 1042. Also happens on the base class.

2018-11-01_15-49-44.png

The member VI is set to shared clone reentrant execution on both as suggested in the IDE (pre-allocated doesn't work which I can understand).

 

Example classes attached

 

I found this but it didn't help: https://forums.ni.com/t5/LabVIEW/Recursion-Error-with-Dynamic-Dispatch-Shared-Clone/m-p/3633722

 



Using LV2018 32 bit

Highly recommended open source screen capture software (useful for bug reports).

https://getsharex.com/
0 Kudos
Message 1 of 2
(2,437 Views)

If you create a new VI and call the method it seems to run as expected, it just doesn't seem to like running the method directly.

 

I wouldn't have expected this behavior but maybe that makes more sense to someone else.

Matt J | National Instruments | CLA
0 Kudos
Message 2 of 2
(2,393 Views)