From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
10-11-2006 06:31 AM
10-11-2006 11:22 AM
You can use the application builder to redirect the VI's that you were putting into an EXE into an LLB. In theory you should then be able to use the VI server to call the VI's. You will have to verify this.
First organize your plugin VI's into folders in the project tree if you have not done so already. Then, in the Build Specification:
1. In the Destination section, create a custom destination for each plugin folder. Make the sure the "Destination is LLB" box is checked.
2. In the Source File Settings section for each plugin folder check the "Set destination for all contained items" box and choose a destination created in step 1 above.
3. In the Source File Settings section for each individual VI, set the "Inclusion Type" to "Dynamic VI". Each individual VI destination should already be chosen and grayed out (set in step 2 above). Right now you have to do this for each individual VI, you cannot do it from the folder it is in. I have a tech support query into NI regarding this. For a large amount of VI's, this will be cumbersome.
Using this approach, we have been able to modularize our code into one main EXE and multiple library files. The library files contain functions, sorta like a "DLL" approach. We then have more configuration control which makes release testing easier. We do have to be careful to ensure that the same VI (such as vi.lib VI's) do not end up in multiple LLB's. This will cause VI name collisions.
I have attached an example project to illustrate this. It is a LabVOOP implementation of a timer class by reference.
01-09-2007 03:09 PM
01-09-2007 04:13 PM
01-09-2007 04:23 PM
06-07-2008 04:58 AM
06-08-2008 08:23 AM
For those who are interseted in laerning more about LVOOP I recomend Tomi's above linked blog with sample code.
Seeing the pieces broken out (as shown in the example) made big difference for me. It prompted me to take the plunge and start my first LVOOP project. (And I thought my applications had a lot of sub-VI's before LVOOP!)
Ben
03-20-2014 05:19 PM
Link not valid any more. Could you correct?
Or attach here?
Thank you.