11-13-2013 03:56 PM
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!
Solved! Go to Solution.
11-13-2013 04:01 PM
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.
11-13-2013 04:03 PM
Ah, I see. Then is there any way to determine who is calling the selected VI, without using project?
11-13-2013 04:06 PM
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.
11-13-2013 04:10 PM
Well that doesn't sound very fun. Is there any reason why this capability is only in project but not the actual VI itself?
11-13-2013 04:18 PM
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,
11-13-2013 04:22 PM
@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.
11-13-2013 05:56 PM
Absolutely correct, Mark - my phrasing there was poor. Nice catch!
11-14-2013 11:44 AM
Thanks guys!