02-02-2012 01:06 PM
HI,
I have a program that worked fine until I upgraded to Windows 7. I am using Labview 2009 (LV 9.0f3).
I had to make some changes to accomodate some user requests. When I trie to compile an exe I get 1 1502 error.
Below is a copy of the info in the build error dialog box. NOTE: my program has no broken arrows. It functions fine in the development environment. I have tried all the suggestions so far. The only one that worked was to enable debugging, however, because of where the program is used I cannot allow that.
Any suggestions
An error occurred while saving the following file:
C:\Program Files (x86)\National Instruments\LabVIEW 2009\vi.lib\addons\_office\excel.llb\Excel Set Cell Color and Border.vi
Invoke Node in AB_Source_VI.lvclass:Close_Reference.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_Build.lvclass:Build_from_Wizard.vi->AB_UI_Frmwk_Build.lvclass:Build.vi->AB_UI_FRAMEWORK.vi->AB_Item_OnDoProperties.vi->AB_Item_OnDoProperties.vi.ProxyCaller
<APPEND>
Method Name: <b>Save:Target Instrument</b>
DETAILS
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: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_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Item_OnDoProperties.vi -> AB_Item_OnDoProperties.vi.ProxyCaller
Possible reason(s):
LabVIEW: Cannot save a bad VI without its block diagram.
THANKS
Ken Merrithew
Sr. Test Engineer
LNX/Mercury Computers
Salem NH
02-03-2012 05:05 PM
Hi Ken,
This error usually occurs when there is a corruption of a VI. Have you tried unchecking both Disconnect type definitions and Remove unused members of project libraries in the Additional Exclusions category under My Application Properties? Are you using case structures in your VI? If so, what is wired to the selector terminal?
Regards,
02-06-2012 08:53 AM
Hi Allison,
Yes I have tried those suggestions and they did not work.
I found the problem though.
Windows 7 was recently installed on this laptop along with Microsoft Office 2010. The installation of MS Office 2010 broke some of the Active X property nodes in the Labview Excel vi's from the report generation toolkit.
I fixed them by right clicking on the broken property node and selecting Relink Propery Node. Once that was done, eveything worked fine.
The hard part was drilling down to the built in Labview Excel VI to find the broken ones.
Thanks for your help.
Ken Merrithew
02-10-2012 02:35 AM
Hi All,
I was getting error 1502 on one of my project, after doing everything above I found that the outputs and inputs of one of my VIs I changed had not updated correctly in the caller VI. I don't understand why the project worked fine when I was debugging it. But I have noticed this before and corrected it at the time (by re-connecting all the connections in the connection pane or the sub VI). I never saw this behavior in 2009 or 2010 these versions reliable grayed out the VIs icon when I changed the inputs/outputs.
Hoping this helps someone
Tom
02-28-2012 10:15 AM
Here is a new one:
We have an application that makes use of conditional disable structures. We set the conditional symbols which basically instantiate a particular derived class. This was working well when we had about 4 derived classes. Now we have 6 derived classes and hence 6 cases in the condition disable structure. Now on builds we get error 1502 (cannot save Bad VI). The code works fine in the development for all cases.
We have tried the following:
1. If we get rid off multiple conditional cases (i.e.. try and build with one case at a time) it works for all 6 derived classes.
2. If we replace the conditional compile structure with an old fashion case structure - it builds.
Any ideas why the conditional structure might be failing the builds?
John
02-28-2012 11:15 AM
So I just tried building with the checkboxes for disabled for
Disconnect type definitions
Remove unused members of project libraries
and it built.
My question is does this in effect work like a case structure and not a conditional compile structure? What I am hoping to avoid is including all the derived classes in the build and making it huge, hence only build in the necessary derived class?
John
02-29-2012 02:34 PM - edited 02-29-2012 02:34 PM
John,
A Conditional Disable Structure is different than a Case Structure in that it is evaluated before the VI or EXE is run, and is defined by the user ahead of runtime.
I am not completely sure what you are asking in your last post - is your question this: If you build with the type definitions disconnected and unused members of project libraries are removed , will the conditional disable structure run more like a case structure than the conditional structure it is supposed to run like?
Please let me know if I am understanding your question correctly.
Best,
02-29-2012 02:48 PM
Rachel,
What I want to do is minimize the size of the built exe. Lets say I have 25 derived classes - will the conditional make it so only the "active" case is built into the EXE and not include all the other class files?
The confusion is to get it to build I have to UNCHECK remove unused members. That seems like it should incude everything like a regular case statement would.
John
02-29-2012 03:40 PM
Yes, the conditional will make it so that only the "active" case is built into the EXE. Hence, using a disable structure is like commenting something out in C.
However, If you are using an executable, it seems that the case structure is the way to go based on what you have described. It doesn't seem to be necessary to use the conditional disable structure. You may want to give me a bit more insight into your application to help me make a better assessment of your situation.
Best,
02-29-2012 04:01 PM
So the conditional does exactly what I want.
My question, I guess, is then why do I need to uncheck "remove unused members". What exactly is that doing?
John