LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to add dynamically loaded vi's to application builder automatically?

Hi!
I'm working in projects with very large applications (About 1300 vi's) and i use GOOP. A couple of these vi's are loaded dynamically via vi server and starts up as separate processes.
I use my platform in a lot of different projects and just currently started to build executables of all my projects. Each platform has it's own dynamically loaded vi's and these constantly change as we release new versions.
Adding all these dynamic vi's manually via "Add dynamic vi" button in the application builder isn't an option, it would take forever to to this.
I made a script that scans through all my files with a certain filter and tries to find filenames that usually are loaded dynamically. Filter triggers on "*.vit", "*CleanUp*"  for example.
Then i have to build the application and test all functions in my program and detect all vi's that were not detected. Then I have to add these vi's manually to the application builder.
But all these gives me a lot of overhead and is not a failsafe method and not good solution. I might miss a certain vi the are loaded dynamically somewhere and some function in the program i delivered to customer might not work.... *gah* Smiley Surprised
Does anyone know of any good script to scan through my projects for all dynamic loaded vi's ? Me myself don't know what this script would look like, would be very complicated if it could scan through vi-server method run and detect the input path or something .... hmm... that sound like not possible.
Anyway, all help needed. !
Thanks!
 
/Walle
0 Kudos
Message 1 of 4
(2,998 Views)

You can't ever gurantee such a tool would work, because the VI names and paths could be constructed dynamically, based on external data, which may not even exist yet. One thing you can do is create a sort of "basket" VI, which will not execute, into which you will put any VI you plan to call as dynamic. Then, you only need to include this one VI in the build, and it will automatically add all of its subVIs.

Note that this appears to be different for LV8. First, it seems you will be able to use the project to keep track of these VIs. Second, it seems that if you don't run a VI, LV will recognize that and not load it at all (you can probably work around this), and third, it seems you will be able to define when each VI will be loaded into memory, possibly negating your need for using dynamically called. VIs.


___________________
Try to take over the world!
Message 2 of 4
(2,993 Views)
ok! thanks for the response. I'll will probably get Labview 8 in a short while, until then I will try out your basket.vi solution.
Many thanks
/Walle
0 Kudos
Message 3 of 4
(2,967 Views)
I tried this Basket vi suggestion but failed at the third subvi insterted. The problem is that I use GOOP and dynamically loaded vit's (Templates).
As I tried to insert the vit file in a basket vi it made a copy of the template and renamed it to .vi.
So vit's can't be added to this basket vi ...
Hmm, i might just have to wait for LV 8 ....
 
/Walle
0 Kudos
Message 4 of 4
(2,932 Views)