08-09-2011 09:11 AM
I am inheriting multiple labview applications and a large library of cusom vis that have been developed over the past decade or so. I have run into the issue that when I fix a bug in a VI I have know idea where it is used, obviously I know the VI is used in the application I am fixing but there are a variety of executables we have built and I have no way of knowing if they were built on the VI I just modified. What is the best way to go about finding all the lvprojects that reference the vi in question??
I have looked into parsing the lvproj file xml and searching for the VI but since this only gives me the first level of the hierarchy I don't know if one of the VIs in the list may reference the VI I have made changes to.
Thanks,
John
08-09-2011 10:04 AM
I use the "VI tree" method. The general idea is to place all of your VIs into the block diagram of a VI (call a tree VI). By opening your tree VI, you bring everything into memory and you can now use the "find all instances" function to determine who uses a particular VI/typedef.
Of course this requires all of your VIs to have unique names. If you develop with this in mind it is not a big deal. you can place things inside of libraries to help you namespace things.
If you have lots of files, you should make multiple trees and put those trees inside of the "top tree".
I maintian about 3000 VI using this method and it works pretty well. the hardest part is remembering to populate the trees.