06-13-2013 07:23 PM
I have near 700 vis and 75 ctls mixed between LV2010 8.6. Is there any easy way for me to mass down covert them all to 8.6? I own LV 8.6 and LV2010. On 2010 I found a mass compile function but I cant pick which version to compile to.
Solved! Go to Solution.
06-13-2013 08:43 PM
I think you should be able to do it with some scripting help.
Basically a VI that will open a list of VI's (array of file paths), then does the Save for Previous method to save to the earlier version. Just doing all of that in a For Loop.
There is probably a VI somewhere in the forums someone has posted that does that. Do a search. If I can find it, I'll post the link here.
06-13-2013 08:45 PM - edited 06-13-2013 08:46 PM
Masscompiling is to convert to the the current version.
What is the relation between all the VIs? Are they all subVIs of a few toplevel VIs? Are they all part of a LabVIEW project? Are they all in a few folders?
In all cases, you will get a new set of all VIs in a new location. You cannot donwconvert overwriting the existing VIs.
06-13-2013 09:17 PM - edited 06-13-2013 09:18 PM
Here is a VI I created based on what I was thinking. (I couldn't find what I was looking for when I searched.)
Warning. I haven't fully tested this. And after reading Altenbach's message about the dependencies, I'm not sure how this would work.
What I have is you give it a path to a folder where all of your VI's are saved. You give a path to where you want the VI's saved to. It will gather a list of all the filenames in that folder, open then individually, then save for previous.
I haven't done any special error handling (like if you had a non-LabVIEW file in the folder. I haven't handled subdirectories. (OpenG does have some useful VI's such as a recursive file list.) And as I said, I don't know how it would handle having a dependency in the same folder.
So use this cautiously as a basis to programmatically cycle through VI's to convert. I'd recommend working on a few at a time, then a bit more complicated things, before turning this loose all at once on a full directory of 700 VI's. Make a safe backup of that before going on, also.
(It turns out that the methods used weren't scripting functions after all.)
06-14-2013 07:21 AM - edited 06-14-2013 07:23 AM
they are mostly subVIs but not all of them are used. None of them are projects. I have 3 folders containing a folder structure that looks like this.
├───Base Level <-VIs linking to dll functions
│ ├───Group A
│ ├───Group B
│ ├───Group C
│ ├───Group D
│ ├───Group E
│ ├───Group F
│ ├───Group G
│ └───Group H
├───Top Level Tests <- VIs using the base level subVIs
└───tools <- Helper VIs and ctls
I do have something I call a "diagram VI" which is a VI I have containing all my Base Level and Top Level VIs in the block diagram organized in their groups as a quick reference. However im not positive all my VIs are listed in it and I know it doesnt contain any vis in the tools but some of the Top level VIs use the tool VIs.
Thanks for the VI, ill do some experiementing
06-14-2013 09:01 AM
Do something like this.
06-14-2013 09:24 AM
The heart of your VI is the same thing as I posted several messages ago. You just created a different user interface around.
Also, please don't post VI's to the forums that are set to run automatically when called.
06-14-2013 09:58 AM
Create a new VI where you dump all vi's.
Use Save as previous version. 🙂
/Y
06-14-2013 08:01 PM
@schddc wrote:
I have near 700 vis and 75 ctls mixed between LV2010 8.6. Is there any easy way for me to mass down covert them all to 8.6? I own LV 8.6 and LV2010. On 2010 I found a mass compile function but I cant pick which version to compile to.
If was just a few VIs, I would tell you to put them all into a project and do the Save for Previous on the project. But with that many, I would highly recommend the scripting method that Ravens Fan gave you.