LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Replacing LLB with Packed Library - Updating dependencies in big project

Solved!
Go to solution

Hello,

 

in my company we have several big LV projects, all using a rather old and out-dated LLB which offers XML functionality.

 

I did a massive rework of that library and switched to the lvlibp build format. In order to ensure downwards compatibility, i even included all the VI's from the old LLB, named exactly the same way, in a "compatibility" folder inside the lvlibp.

 

What i had in mind is to simply replace the old llb by the lvlibp by deleting the llb from the project directory, adding up the new lvlibp version, and run Mass Compile in order to relocate the missing VI's from the LLB, which are still present in the project with exactly the same name, with only the difference that they now are located whithin the lvlibp.

 

My problem is, that the Mass Compile function doesn't seem to check any lvlibp contained in the project for the missing files, so this option won't work. I tried to manually replace the missing items listed in "Dependencies" in the project tree, however if i select the lvlibp in the popup file dialogue, LabVIEW refuses to accept it, as "The File You Selected Is Not A VI".

 

I have also tried to double-click the missing VI, which will open up the File Search dialogue. I can select the lvlibp and the correct item inside, however if i hit OK, the missing dependency that has once been on the very top of the missing dependency list, reappears at the very bottom, still as a missing dependency.

 

Does anybody have a solution for this? Maybe there is some tool or advanced steps to go?

 

I don't want to go the way to open every single VI that is utilizing the XML functions, and re-assigning the path for every single function, which would really be a pain as there are more than 100 VI's that all are calling at least 5 or more of the functions that have been moved from the LLB to the lvlibp...

 

Best Regards and thanks in advance...

0 Kudos
Message 1 of 5
(158 Views)

It looks for the llb version it seems like. I'd r-click -> Find Callers and search/replace from there.

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 2 of 5
(137 Views)

Hi Yamaeda,

 

thanks for your reply, and yes, this is a possible solution.

 

However as mentioned there are over 100 VI's that are callers of the XML functions, and each of those 100+ will call at least 5 different functions of the XML library.

 

So going this way would mean i'd have to manually replace the same VI's all over again, about 500 times or more, which would take rather days than just hours.

 

I hope there is some way to do this automatically, just like the "Mass Compile" function would do if the VI's weren't located in a ppl...

0 Kudos
Message 3 of 5
(112 Views)
Solution
Accepted by topic author mibo0691

Hi mibo,

 


@mibo0691 wrote:

I hope there is some way to do this automatically, just like the "Mass Compile" function would do if the VI's weren't located in a ppl...


Put all of those 100 VIs into a big MainVI to load them all into memory.

When LabVIEW searches for a missing subVI you can load the new VI from your lvlibp: now the effort should be reduced to just 5 replacements…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 4 of 5
(92 Views)

GerdW, you made my day and saved me so many hours with this trick.

 

I managed to update the dependencies whithin about 15 minutes.

 

Kudos to you. And a nice weekend!

0 Kudos
Message 5 of 5
(67 Views)