LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why doesn't "Compare Hierarchies" work?

I have two versions of a LabView project that I wish to compare.  I know that I made some changes to one of the versions (from the other) and I want to do the compare because I've forgotten what changes I made and I wanted to document them.  However, when I do the compare (as I've done dozens of times with another project) the top VI shows up with a slashed circle icon next to it and the message "VIs have not been compared."  And, below it, all the remaining VIs in the hierarchy of the VI in memory are shown as "added" VIs with a "plus" icon next to them.  (Note, when I do it with another project, I see the dialog showing the hierarchy being loaded into memor when I select the second Hierarchy.  I don't see this with my problem project--except when I accidentally selected a version of the working project by accident as my second hierarchy.
 
My problem project is a Labview project that I have "inherited" from someone else.  It was originally created in LabView 5 or 6.  I have brought it up in 8.2 then created a LabView project (.lvproj) and created 8.2 libraries (.lvlib) files.  (This is slightly different from the other project that works, the ".llb" files were not "converted" to ".lvlib" files in the project that will compare.  Somehow that seems to be the issue.)  The original project had about 60-some VIs in 5 library files (.llb) and had a slightly different directory structure.  I copied the files to a new structure and started working.  When I first created the .lvlib files, they went into the old directory.  When I noticed this, I went back and put the .lvlib files into the .llb files (which still contained all the VIs).  So, I have a <ProjectName>.lvproj, a <ProjectName>.aliases, and 5 .llb files like "Automation.llb", "Motion.llb" and so on.  Each of the ".llb" files contains several VI files and one ".lvproj", for instance "Automation.llb" contains "Automation.lvlib" as well as "Automation.vi", "Maintenance.vi" and so on, while "Motion.llb" contains "Motion.lvlib" as well as "Machine init.vi", "Power and Control.vi" and so on.  Inside LabView's "Project Explorer" for <ProjectName>, I have a "source" directory under "My Computer" which contains the 5 ".lvlib" libraries.  Each ".lvlib" displays all the ".vi" files that are in the ".llb" files.
 
I originally put the files into a "source" directory and as I worked, I was saving this directory to a CVS repository (on a server).  But I was very careful to save a copy of the directory, load it into CVS, restore the directory from CVS and then do a comparison with the saved copy because I'm still not entirely confident that I'm using it properly.
 
After fighting this for some time (part of which involved discovering that the .lvlib files had gone into the old directory), I've now got two directories I'm calling "source.new" and "source.tmp" which contain the two versions I'm trying to compare.  I have also renamed the previous original directory so that links to it would get broken.  I rename the "source.new" to "sourcenew", mass compile "source.tmp" and when I bring up the main VI, it has a clean run arrow.  Then, I can rename "source.tmp" to "sourcetmp", rename "sourcenew" back to "source.new" and mass compile and again get the clean run arrow.
 
Also, both versions have build projects (to build and EXE and an installer).  I can run those build projects cleanly and still bring up the main VI with a clean run arrow (again doing that rename thing to make sure any hidden links are not doing something unexpected.)
 
But then, if I rename these directories back to "source.new" and "source.tmp" and bring up the "source.new" project, then bring up the main VI and Select "Compare/Compare Hierarchies" and select the VI in memory as the "First VI Hierarchy" and then select the equivalent VI from "source.tmp" for the "Second VI Hierarchy" and click the "Compare Hierarchies", I get the result I described at the very beginning.
 
Labview 8.2, Windows XP.
0 Kudos
Message 1 of 2
(2,497 Views)
Bingo!!!
 
I removed the .lvlib stuff from the hierarchy and went back to just having .llb libraries and now I'm able to do my compare (after doing this in both directories and loading my top level VI and re-targeting all the VIs to the correct location)!  It appears that there is something about that .lvlib stuff that just totally messed up how the hierarchy was read.
 
Lowell
Message 2 of 2
(2,488 Views)