11-01-2018 11:10 AM - edited 11-01-2018 11:21 AM
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.
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
11-01-2018 06:27 PM
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.