LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

caller vi reference

I had a vi that would get a reference to the vi that called it (not dynamically) Before 8.0, I could just use a call chain and wire the vi name to an open vi reference. Now,  this is no longer valid as I get the error below. I know about the caller's vi property but this will return all callers. Is there a good way to get a reference to the exact vi that calls my subvi?
 
Error 1445 occurred at Open VI Reference in File Util -  VI Path to Calling Directory Path.vi->temp.vi
Possible reason(s):
LabVIEW:  Open VI Reference no longer matches VIs in memory by filename. A filename is no longer sufficient because the full name of a VI now includes any owning libraries.
 
Terrill
 
 
 
Message 1 of 8
(6,316 Views)
never mind. This works. I used a string to path function. If you wire the open vi reference with a string it works fine.
Message 2 of 8
(6,294 Views)
Terrill, Thanks for replying to your own posting.  I had the same problem and finding the solution quickly saved me a lot of time.
0 Kudos
Message 3 of 8
(6,132 Views)

EVEN I HAVE THE SAME PROBLEM CAN YOUHELPME OUT PLEASE

0 Kudos
Message 4 of 8
(3,253 Views)

First fix your broken keyboard.  The Caps Lock key must be stuck.

 

Typing in all caps won't help you get information from an 11 year old thread.  Please start a new thread with a clear statement about what you have tried and attach the vi that is not working.


"Should be" isn't "Is" -Jay
0 Kudos
Message 5 of 8
(3,247 Views)

I have a LabView Executable and I want to control it by python using activex control. When I use the method getvireference I get the error open vi reference no longer matches vis in memory. A filename is no longer sufficient because fullname of  vi has own libraries. What is the reason for this ?

It works for other labview executable. Can you help me in this matter. 

0 Kudos
Message 6 of 8
(3,240 Views)

Have you figured out this problem? I just got it as well and haven't found much.

0 Kudos
Message 7 of 8
(2,447 Views)

It would help if you (all of you) posted what you have.

 

Open VI Reference adapts to a string or a path.

 

If you wire a path, it must be the correct path. (This might be a little looser in an executable, where the paths changed by).

 

If you wire a string, it probably must be the VI name, or the fully qualified VI name. The VI must be in memory.

 

If you convert a (fully qualified) name string to a path, you won't get good results.

 

There are lots of alternatives. For instance, when starting the VI, pass the reference of the caller to it (This VI). Or use a static VI reference. Knowing the exact use case would be required to suggest other solutions.

0 Kudos
Message 8 of 8
(2,418 Views)