LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI Hierarchy different than using Project Find Callers?

Solved!
Go to solution

Hello.  I'm trying to find the callers of a specific VI, but I'm getting two different answers from Labview.  When I view the VI heirarchy of the VI in question, it looks like there are no callers; however, when I use the find callers in the project explorer, two VI's appear.  Which is real? Any idea why I'm having this issue?

 

Thanks!

0 Kudos
Message 1 of 9
(2,840 Views)
Solution
Accepted by topic author mlam13

The VI hiearchy only shows what VIs are called by the selected VI. It does not show what VIs call it. As you have found you need to use the Find Callers feature of the project in order to get that information.



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 9
(2,838 Views)

Ah, I see. Then is there any way to determine who is calling the selected VI, without using project?

0 Kudos
Message 3 of 9
(2,836 Views)

No, there is not, at least not easily. You could probably use VI scripting to look into all of your VIs and se if the VI in question is getting called by any of them. This would not be a very quick task though as it would have to traverse all of your VIs on disk.



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 4 of 9
(2,834 Views)

Well that doesn't sound very fun. Is there any reason why this capability is only in project but not the actual VI itself?

0 Kudos
Message 5 of 9
(2,832 Views)

Hello mlam13,

 

You should be able to right-click on the VI Icon (top right corner) and select the "Find All Instances" option.  Note that this will only locate callers that are currently in memory.  The project search feature uses linkage information in the project to track this, but individual VIs aren't "aware" of their callers unless the caller in question is in memory.

 

Regards,

Tom L.
0 Kudos
Message 6 of 9
(2,824 Views)

@0utlaw wrote:

Hello mlam13,

 

You should be able to right-click on the VI Icon (top right corner) and select the "Find All Instances" option.  Note that this will only locate callers that are currently in memory.  The project search feature uses linkage information in the project to track this, but individual VIs aren't "aware" of their callers unless the caller in question is in memory.

 

Regards,


A minor correction is that I don't believe the VI is aware of it's callers in memory. Rather it is LabVIEW IDE itself that would know this information. It would be very impratical to have to store information regarding all the possible callers of a VI within itself.



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
Message 7 of 9
(2,819 Views)

Absolutely correct, Mark - my phrasing there was poor.  Nice catch!

Tom L.
0 Kudos
Message 8 of 9
(2,805 Views)

Thanks guys! 

0 Kudos
Message 9 of 9
(2,766 Views)