LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Looking for issues with nested reentrant clones of different types

I'm just looking for what kind of issues I might encounter with nested clones of different types.

 

We have communication managers which are preallocated clones.  They contain dynamic dispatch class methods which are shared clones (because they can't be preallocated).  The class methods contain actual hardware calls which are preallocated clones.

 

The idea is to run the managers in parallel while waiting the the hardware calls to either obtain data or potentially timeout.

0 Kudos
Message 1 of 4
(2,426 Views)

Aside from trouble shooting one instance that is misbehaving while the others are running...

 

I can not speak to issues.

 

Have you encountered any yourself and have code to illustrate the issue?

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 4
(2,400 Views)

No issues yet, I am just looking for insight into what issues I may encounter.

 

How are shared clones handled inside preallocated clones?

How are preallocated clones handled inside shared clones?

I have both.

 

0 Kudos
Message 3 of 4
(2,392 Views)

There are some issues with nested clones in nested subpanels. Closing clones that are in (nested) clone's subpanels while still inserted in subpanels crashed LabVIEW. Not sure if this is still the case. But I let each VI (clone or not) remove itself from subpanels when it's stopped in a controlled manner.

 

It get's worse with registered callback events in nested clones in nested subpanels. This works mostly OK in development, but crashes executables when callback events are being processed while the clone stops running. Go figure...

 

And no, I don't have code to reproduce this...

 

For sub VI's, I've not seen any problems with clones.

Message 4 of 4
(2,376 Views)