LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why do VIs within an llb remain in a project's dependencies folder after the llb has been added (as a file) to the project?

I have a lvproj containing a lvlib.  One of the VIs in the lvlib has a number of subVIs that are stored on disk in llb files (e.g. one llb per physical instrument I am controlling).  I have added those llb files to the lvlib within the project.  When I look at the "Dependencies" folder in the Project Explorer, the aforementioned subVIs appear there. 

 

As I understand it (and please correct me if I am wrong), the "Dependencies" folder shows files that are not included in the project but on which the VIs within the project depend.  The llbs containing the subVIs are shown as being in the project, so why do those same subVIs appear in the list of dependencies?

0 Kudos
Message 1 of 14
(2,779 Views)

Did you right click the vi in the dependencies and check which VI is calling? It may a case where you might a created a different copy into the project and one of your VI still calls the original copy. 

-----

The best solution is the one you find it by yourself
0 Kudos
Message 2 of 14
(2,775 Views)

Yes, I checked to see "Why is this item in Dependencies?".  The callers are the ones that I expected, and the correct llb containing the subVIs is in the project. 

 

0 Kudos
Message 3 of 14
(2,767 Views)

Then you have to delete/replace the vi's which are called and present in the dependencies.

-----

The best solution is the one you find it by yourself
0 Kudos
Message 4 of 14
(2,761 Views)

Just to clarify, what is the purpose of deleting/replacing the subVIs present in the dependencies when the replacements would all be identical to the ones I delete?


P@Anand wrote:

Then you have to delete/replace the vi's which are called and present in the dependencies.


 

0 Kudos
Message 5 of 14
(2,750 Views)

@fredandjerry wrote:

Just to clarify, what is the purpose of deleting/replacing the subVIs present in the dependencies when the replacements would all be identical to the ones I delete?


P@Anand wrote:

Then you have to delete/replace the vi's which are called and present in the dependencies.


 


Let me make the statement clear. What I meant is, you havethe sub VIs in dependencies which present becasue still some of other VIs calls it. So find which VI is calling the Sub VIs in dependencies, open the VI and find where it is called. Then delete that VI instance or relace with the instance of the VI you have added to the project. Does it make sense?

-----

The best solution is the one you find it by yourself
0 Kudos
Message 6 of 14
(2,746 Views)

Your problem is a simple cross-linking.  This is common if you copy code from project to project.  So you have VI Alpha calling a subVI in location A.  In your project, you added a subVI with the exact same name but in location B.  Since B is in your project, then you should want all of the code in your project to point to B.  The simplest way to do this is to delete everything in A.  Then fix all of your VIs in your project.  Then restore everything in A again.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 7 of 14
(2,737 Views)

@crossrulz wrote:

Your problem is a simple cross-linking.  This is common if you copy code from project to project.  So you have VI Alpha calling a subVI in location A.  In your project, you added a subVI with the exact same name but in location B.  Since B is in your project, then you should want all of the code in your project to point to B.  The simplest way to do this is to delete everything in A.  Then fix all of your VIs in your project.  Then restore everything in A again.


Your understanding of my problem is not quite correct; let me try to clarify using your nomenclature.  I have a VI Alpha.vi calling a subVI (let's call it subA.vi).  Th subVI is stored at location A, which is an llb (let's call it locA.llb).  So to this point, subA.vi is a member of locA.llb.  locA.llb is shown as a member of my project, but subA.vi is shown as a dependency.  The path for locA.llb, as shown by clicking Project > Show Item Paths in the Project Explorer is "D:\[folderpath]\locA.llb".  When I open the VI Hierarchy for alpha.vi, the full path listed for subA.vi is "D:\[folderpath]\locA.llb\subA.vi" (and yes, [folderpath] = [folderpath]).  In the list of dependencies, the full path for subA.vi is also "D:\[folderpath]\locA.llb\subA.vi".  So, as far as I can tell, cross-linking is not the problem, because there is no reference to a location B.

 

In order for all the VIs within an llb to be considered by LabVIEW to be part of the project, is it necessary to add each of those VIs to the project, or does simply adding the llb (as an llb file, not as a folder of VIs) suffice? 

0 Kudos
Message 8 of 14
(2,730 Views)
If there is any cross linking you might also see some conflicts. Do you have any conflict?
-----

The best solution is the one you find it by yourself
0 Kudos
Message 9 of 14
(2,727 Views)

P@Anand wrote:
If there is any cross linking you might also see some conflicts. Do you have any conflict?

No, there are no conflicts shown in the project.

0 Kudos
Message 10 of 14
(2,723 Views)