04-07-2010 03:08 PM
I have a system of about 5 top level vi's and about 20 lower level vi's. I want to expose to LabVIEW developer clients only the icons of the 5 top level vi's, and let them wire to them. I don't want them to be able to see the front panels in any mode - at edit time or run time. I also don't want them to have any access to my Globals vi. Is this possible?
Thanks in advance!
-RD
04-07-2010 11:29 PM
04-08-2010 08:34 PM
Thanks very much. I have LV 8.5 & hope it supports Source Distribution. I'll check into it (need a few days) & will then come back and mark this "solved" with Kudos!
04-09-2010 02:19 AM
04-09-2010 08:03 AM
altenbach wrote:
Look into password protected libraries (*.lvlib).
That's the ticket!
You can set the access scope of VIs to Public for what you want to expose and private for the rest. I have never used this approach on non-LVOOP VIs but I believe it is do-able.
Ben
04-10-2010 09:23 PM
Well, I've looked into both source distributions and .lvlibs. It looks like neither one will fit the bill. Source distributions are great in that they will allow me to Remove Panel and Remove Diagram for the vi's (using the "Customize VI Settings" under "Source File Settings"). Now my users can't see the block diagrams or interact with the front panels but they can wire to the icons.
The problem is that I really only want a few vi's in the group to be Public, and the others lower in the hierarchy to be Private. This feature is offered by .lvlibs, but it does'nt look like the .lvlibs offer the option of Remove Panel. Although I could password protect all the files in the .lvlib, this would block access to block diagrams, but would still allow users to double-click on the icons and see the front panel of that vi, and, unfortunately, interact with its controls. I could make all the controls invisible, or even set the Front Panel Window: Transparency to 100%, making the front panels invisible, but these approaches are not elegant.
What I want to end up with are a group of icons on a pallette, which when selected put top level api vi icons on the user block diagram, but do not allow users to view their front panels, and also, not allow any user access to the lower level vi's that they call. They should act the way the String -- Search and Replace String icon acts, for example.
Am I missing something here? Thanks in advance!
04-11-2010 01:21 AM
Build a dll, and export 5 functions (top VIs).
04-11-2010 11:24 AM
04-11-2010 11:35 AM
Why exactly do you think you need to hide the front panels? Have you actually tried the password protected lvlib? Instead of guessing, try it and see if the private VIs are accessible.
The string function you mention is not a VI at all.
04-11-2010 11:44 AM
If you remove the diagrams, you can only run your VIs in your current version(8.5). If you plan to send your system to other Labview user they have to use Labview 8.5 also. Not very practical I will say. I did it once accidentally. It worked for a while. But then a new Labview version surfaced we got a lot of angry phone calls from people more or less pi**ed off. But if you password protect they will be able to to use newer Labview versions without problems. If you are afraid that they can see details on the front panel so hide it. NI use password protection then they want to hide inner VI working from the users. So it should be pretty safe. If you want your software to be 100% tamper proof. You have to hide it in a safe, and never show it to anyone. Much like some crown jewels. Are your software really so valuable
By the way. If you make a DLL people using your functions must have Labview 8.5 runtime engine installed.