LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LV 2009 Source Distribution with Broken VIs

  It looks like LV 2009 has made another "improvement" to an edge case that has caught us off-guard.  This is admittedly not a huge issue for us to deal with, but I thought it might be worth getting some more feedback and seeing if anyone else has comments as to whether this change is for the better or not.

   We have a plug-in architecture in which we compile a main program, then use a Source Distribution to create directories of plug-in modules that the main program calls dynamically.  We can send out updated or new plug-ins this way without having to recompile or redistribute the main program.

   For each module, I have a "List" VI, similar to a driver "Tree" VI in NI drivers.  It contains all the top-level VIs that that module uses.  Many are called dynamically, so by loading this List VI into memory, you can be sure that all parts of the module are in memory.  It also simplifies the build script, since if you include the List in the Source Distribution, it automatically includes all the top-level and dynamically called VIs you need in the distribution.

   The List VI is not executable.  I add a broken wire on purpose, since this VI is not meant to be run.  In addition, if any of the VI's on the diagram have "Required" inputs, that breaks the List VI.

    In LV 8.6 and before, we could build a source distribution with this broken VI.  In LV 2009, the source distribution build fails with a message about not being able to save a file.  If we "fix" the List VI, it works.

   So it appears that in LV 2009, NI "fixed" the source distribution to only work with executable VIs.  It's not too hard for us to accomodate this, by fixing our List VIs.  But I wonder if there aren't other edge cases where this "fix" is not such ideal behavior.  Might you not want to be able to make a source distribution of source code that isn't finished and hence isn't executable?

   (Oh - another subtlety that may be relevant - we remove the diagram as a security measure.  Maybe you can't remove the diagram from a broken VI?  Though it did seem to work in 8.6...)


DaveT

-------------------------------------------------------------
David Thomson Original Code Consulting
www.originalcode.com
National Instruments Alliance Program Member
Certified LabVIEW Architect
Certified Embedded Systems Developer
-------------------------------------------------------------
There are 10 kinds of people: those who understand binary, and those who don't.
0 Kudos
Message 1 of 3
(2,235 Views)

What is the exact error? I tried building a source distribution from a broken VI with LabVIEW 2009 and it completed with no error.

George M
National Instruments
0 Kudos
Message 2 of 3
(2,225 Views)

Sorry - false alarm.  The difference did turn out to be that I had checked "Remove Diagram" for the broken VI, not just for the good VIs.  You apparently can't remove the diagram from a broken VI since it can't compile it.  In our 8.6 distributions, we didn't check that box for the broken VI.  In 2009, I was checking that box for all VIs.


DaveT

-------------------------------------------------------------
David Thomson Original Code Consulting
www.originalcode.com
National Instruments Alliance Program Member
Certified LabVIEW Architect
Certified Embedded Systems Developer
-------------------------------------------------------------
There are 10 kinds of people: those who understand binary, and those who don't.
0 Kudos
Message 3 of 3
(2,217 Views)