11-23-2012 03:17 AM
I have just got bitten by this error, building an application in LabVIEW 2010.
Thank you, Henry, for your post about non-executing case structures; I have removed a couple of these and my applications has built. These case structures have been in the code for a while and I have not had any problems building it until now.
Glad that you guys found this problem before me!
12-11-2012 12:34 PM
I would like to add LV 2012 to the list of releases that still does this. I tried to re-create my "broken" vi by copying the contents into a new vi and then remaning it to the original name. That has worked for me in the past, but not this time. I am flat stuck now. It amases me that NI is aware of the problem but cannot find a solution after years of trying?!?
12-11-2012 01:53 PM
Can you not edit your own post? Tried so far:
1 - Close / open LV
2 - Restart Windows
3 - Try the stuff that SteveChandler had suggested: moved problem vi out of the project, saved the project, exited LabVIEW, opened the problem.vi and saved it, then put it back into the project.
4 - Mass compile
5 - Re-create vi with copied code, as descibed in my previous post
6 - Run analyzer on vi
7 - Raised blood pressure significantly
My next guess would be to painfully re-create the entire vi from scratch, which I am not looking forward to. Can someone please offer another suggestion first?
Jeff
12-11-2012 02:29 PM
Okay NI lurkers, I have a one for you. I am attaching my vi here. Don't laugh, because it has not debugged yet. If I set the boolean constant on the far left of the diagram (close to the rjh - debug coment) to "T", the application executable can build. If I set it to "F", it cannot build, and gives the following error:
Visit the Request Support page at ni.com/ask to learn more about resolving this problem. Use the following information as a reference:
Error 1502 occurred at AB_Source_VI.lvclass:Close_Reference.vi -> AB_Build.lvclass:Save.vi -> AB_Build.lvclass:Copy_Files.vi -> AB_Application.lvclass:Copy_Files.vi -> AB_EXE.lvclass:Copy_Files.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Engine_Build.vi -> AB_Build_Invoke.vi -> AB_Build_Invoke.vi.ProxyCaller
Possible reason(s):
LabVIEW: Cannot save a bad VI without its block diagram.
12-11-2012 02:48 PM - edited 12-11-2012 02:50 PM
Are you sure the T/F is correct. You have broken "Dead code" in the false case that may be removed if compiled without a BD.
Very Interesting behavior seen.
>>Open the vi
>>Ignore missing sub vi
THE VI ISN'T BROKEN! Showing the false case.
using LabVIEW 12.0f3 32bit.
Any change to any constant instantly breaks the vi. This smells suspiciously like an optimizer dead code removal bug.
12-11-2012 02:58 PM
You are looking at the True case, not the False. I did not attachment a needed subvi. It is attached here now.
12-11-2012 03:02 PM
@Jeff-H wrote:
You are looking at the True case, not the False. I did not attachment a needed subvi. It is attached here now.
Yes, that's what I get for reading too fast the Dead case is shown in the snip and I am confusing myself over the negative logic.
Are you removing BDs in the build?
12-11-2012 03:07 PM
Sorrry, but I am not an advanced user; what do you mean by remove BDs? I have "remove unused vi instances" and "remove unused members of libraries" checked in my build spec.
12-11-2012 04:15 PM
@Jeff-H wrote:
Sorrry, but I am not an advanced user; what do you mean by remove BDs? I have "remove unused vi instances" and "remove unused members of libraries" checked in my build spec.
If your not familliar with the setting I'm guessing you leave this as Default.
Since the broken code is "Unreachable" it is only needed in order to save the block diagram and is actually not encluded in the compiled LabVIEW object. So if you try to build it into an exe without Block Diagrams it "Should" work fine since there are no reachable errors.
12-11-2012 04:30 PM
Mine looks the same as yours. Again, there is no broken code, I attached the missing vi in a later post.