Jump to content

Dynamically Loading LVOOP Classes With Prefix Name in Executable


Recommended Posts

I have an application whereby I am able to crash the LabVIEW Run Time Engine (8.5).

1. My application consists of a Template VI (which is always in memory) that dynamically loads VIs into a subpanel.

2. These dynamically loaded VIs contain LVOOP classes.

3. In my Build Script in LV AppBuild I rename my LVOOP class VIs with a prefix (I have no inheritance) in order to try and neaten the build.

4. I build the application (success) and run the executable.

Randomly the LV RTE will crash when switching between screens (i.e. unloading then loading a dynamic vi into the subpanel).

Sometimes on the first switch, other times the 50th switch.

Fixes I have found:

1. In the template VI I host an object of each LVOOP Class as a constant of the block diagram. This must keep the class in memory the whole time? As switching between screens in the subpanel is way faster. Seems to be alot of overhead in loading the different classes.

2. Do not rename the LVOOP Class VIs (resulting build structure is more complex) in the build script.

Either solution seems (thus far) to make the Application way more robust.

Of course with inheritance I would be forced to use Fix 2 as with Fix 1 I would have to use the same prefix (which would still cause a name collision etc..).

Question: Is there a known issue with the LV RTE dynamically loading/unloading VIs containing classes that have a prefixed name?

If so is this fixed in 8.6 (I dabble in 8.6 at home from time to time but 99.9% of work is 8.5 or 8.5.1 so) I haven't tried with this app.

There are some great reads on LAVA about related topics here and here

[Cross Post]

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.