LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Release plugin PPL from memory after calling VI finishes

I have a top level VI that dynamically calls plugins as PPLs. Each PPL contains a single class which is a child of a class of a parent PPL. The parent class contains an overridable Plugin Core.vi. Basically, it is a factory pattern style architecture. 

The problem I'm having is that in the development environment, even if all VIs are stopped and closed, the called plugins remain in memory. They appear in Dependencies -> Items in Memory.

 

I can't share the full code but the core is like this:

Basjong53_0-1747646487383.png

Selecting the plugin:

Basjong53_1-1747646552054.png

 

The core VI, since start asynchronous call can't call dynamic dispatch VIs:

Basjong53_2-1747646607912.png

 

How can I release the called plugins from memory once they are no longer running? It is very annoying since I have to close the large project every time I want to rebuild the plugin.

0 Kudos
Message 1 of 2
(346 Views)

@Basjong53 wrote:

[...]

How can I release the called plugins from memory once they are no longer running? It is very annoying since I have to close the large project every time I want to rebuild the plugin.


There was a similar question a few weeks ago (https://forums.ni.com/t5/LabVIEW/Release-called-class-from-memory/m-p/4431885).

And I am sorry, but there seems to be no way to release a loaded class.

 

https://forums.ni.com/t5/LabVIEW/Release-called-class-from-memory/m-p/4432372#M1307447 

https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Allow-user-to-unload-a-class-from-memory-programmatic... 

https://lavag.org/topic/8280-can-i-destroy-an-lvoop-class/ 

 

Edit: https://forums.ni.com/t5/LabVIEW-Development-Best/Factory-Pattern/tac-p/3492065/highlight/true#M72 

0 Kudos
Message 2 of 2
(326 Views)