LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error while creatiing executable - Error 1502

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

 

 

0 Kudos
Message 41 of 65
(4,495 Views)

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,

Allison M.
Applications Engineer
National Instruments
ni.com/support
0 Kudos
Message 42 of 65
(4,472 Views)

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

Smiley Happy

Message 43 of 65
(4,462 Views)

 

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

0 Kudos
Message 44 of 65
(4,442 Views)

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

0 Kudos
Message 45 of 65
(4,396 Views)

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

0 Kudos
Message 46 of 65
(4,390 Views)

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,

Rachel D.
Applications Engineer
National Instruments
0 Kudos
Message 47 of 65
(4,369 Views)

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

0 Kudos
Message 48 of 65
(4,363 Views)

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,

Rachel D.
Applications Engineer
National Instruments
0 Kudos
Message 49 of 65
(4,353 Views)

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

0 Kudos
Message 50 of 65
(4,347 Views)