LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Adding conflicting items to project dependencies with packed libraries

I'm wanting to dynamically call objects in packed project libraries. So first I call Get Exported File Path.vi to get the path to the class that I am wanting to load. Then I call Get LV Class Default Value.vi.

 

This works fine in the executable, but when I run it from the development environment, it says that I am adding conflicting items to the project. Am I doing something wrong -- or is this a know issue that NI will fix sometime next century?

 

Mike...

0 Kudos
Message 1 of 2
(937 Views)

Depending on the complexity of your heirarchy, you may need to split up your PPLs more than you have. If you have PPLs that are loading built using other PPLs you could be getting the conflicts. We have close to 200 PPLs in a with a heirarchy about 11 levels deep. What we found was that we needed to build them from the lowest level up. We chose a common folder for holding our PPLs and started building the PPLs that did not use any other PPL. Then we had projects for the next layer of PPLs. The source for this would reference the layer 0 PPLs from the common folder. All of the resulting PPLs from the layer 1 builds would also be located in the common folder. We do have a strcuture under the common area to keep things organized. Next we created projects for the layer 2 PPLs. These would reference any of the layer 0 or layer 1 PPLs from the common area. We continue with this build stratgey until everything is build. Stand-alonem utility and base class PPLs would be located in a "libraries" folder. Dynamically loaded classes are place in an ajacent folder called "plugins". It took a while to figure all of this out but once we got it works well. We did find that the MGI Solution Explorer helped quite a bit with the build process.

 

We have a Jenkins build server which builds all of our PPLs for us and developers use the PPLs. Only a few of the team have access to the source for all of the PPLs.

 

What we found was that once you choose to use PPLs for anything more than a simple package, you have to go all in.But in the end, it works well.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 2 of 2
(910 Views)