ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Packed Libraries: Allow Access from public to private access scope ?

Hi!

 

First time for me building a packed library to control a motor, please forgive me if I'm missing something obvious here. It features some safety mechanisms so I basically want the user to have access only to "init", "Main Control", "Close" and some "Get" VIs (like get velocity/torque etc.).

 

For that in my project library I've set up two virtual folders: "Public API" and "Private". Obviously in Public I have the VIs mentionned above and in Private I have all of the hidden code ensuring control and safety basically.

I don't really want the user to see the "Private" virtual folder (Because they don't need to) so I've set its access scope as ... *Drum roll* ... Private!

 

I'm sure you already see the problem: After building my packed library, my main control won't execute because "This VI uses a dependency that has changed. That change requires this VI to recompile. This VI is compiled into a Packed Project Library and cannot recompile by itself. You must rebuild the Packed Project Library to account for the changed dependency."

If I change back the access scope to public, then everything runs fine.

I don't know if that's important, but some of my VIs (in Private) use a DLL that is being exported in the same folder. But I typically have "sub-libraries" to my main library as shown below

VinnyLaTaupe_1-1603897118791.png

 

Is it not possible to prevent user to see some VI but still leaves VIs access to Private access scope?

 

Thank you in advance for your help.

Best,

Vinny

0 Kudos
Message 1 of 3
(1,743 Views)

Can you supply an example project that shows the issue?  I have been something similar for a few years and have yet to run into this issue.



There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 3
(1,721 Views)

So are you saying this is not a normal behaviour?

 

Sadly no I'm not allowed to share any code 😕

However, I noticed that in the build specifications, if I enable debugging, then I don't have any issues, everything works fine. If I don't enable debugging then I have one single vi that won't execute. All the others are fine. That puts other internal libraries as well as external DLLs out of the equation.

 

Enable Debugging On

VinnyLaTaupe_1-1603968511685.png

 

 

Enable Debugging Off

VinnyLaTaupe_0-1603968402470.png

 

0 Kudos
Message 3 of 3
(1,672 Views)