07-26-2007 01:15 PM
TestExec Build 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 13 occurred at Invoke Node in ABAPI Dist read linkages.vi->ABAPI Dist Cmp Settings to Disk Hier.vi->ABAPI Get Settings From File2.vi->EBEP_Invoke_Build_Engine.vi->EBUIP_Build_Invoke.vi->EBUIP_Build_Rule_Editor.vi->EBUIP_CreateNewWizard_Invoke.vi->EBUIP_CreateNewWizard_Invoke.vi.ProxyCaller
Possible reason(s):
LabVIEW: File is not a resource file.
=========================
NI-488: Sharable board exclusively owned.
Method Name: Linker:Read Info From File
O:\Software\MfgTest\Galvo Test Station (GTS)\Classes\Tests\Auto-Linearize\AutoLinearize.lvclass\AutoLinearize.ctl
07-26-2007 01:16 PM
07-26-2007 01:27 PM - edited 07-26-2007 01:27 PM
Message Edited by billings11 on 07-26-2007 01:29 PM
07-27-2007 03:40 AM
07-27-2007 05:48 AM - edited 07-27-2007 05:48 AM
Message Edited by billings11 on 07-27-2007 05:54 AM
07-27-2007 07:22 AM
07-27-2007 10:24 AM
OK I figured out what is going on.
RULES FOR CREATING EXE’S WITH LVOOP
1. Do not put any lvclass or any “dynamic vi” of any lvclass in the “Dynamic vi’s and Support Files” section of the source files tab in the build window. Yes I know they are called “dynamic vi’s” in the LVOOP structure and one would assume you may need the front panels etc., but somehow they get loaded in automatically and if you explicitly include them as dynamic vi’s I think they conflict with themselves somehow. If you do this you will get the following error:
Error 13 occurred at Invoke Node in ABAPI Dist read linkages.vi->ABAPI Dist Cmp Settings to Disk Hier.vi->ABAPI Get Settings From File2.vi->EBEP_Invoke_Build_Engine.vi->EBUIP_Build_Invoke.vi->EBUIP_Build_Rule_Editor.vi->EBUIP_CreateNewWizard_Invoke.vi->EBUIP_CreateNewWizard_Invoke.vi.ProxyCaller
Possible reason(s):
LabVIEW: File is not a resource file.
=========================
NI-488: Sharable board exclusively owned.
Method Name: Linker:Read Info From File
O:\Software\MfgTest\Galvo Test Station (GTS)\Classes\Tests\Auto-Linearize\AutoLinearize.lvclass\AutoLinearize.ctl
In this case “Autolinearize.ctl” is the first class definition in the build.
2. In the additional Exclusions section, you cannot use the “Remove as much as possible” option. This disconnects typedef definitions, and I think it is misinterpreting lvclasses and trying to disconnect the class definitions, which breaks the application. Of course, you don’t get any reasonable error message when this happens. It will give you an error 1502 as shown below:
An error occurred while building the following file:
O:\Software\MfgTest\Galvo Test Station (GTS)\GTSExecutionMenu.vi
The VI became broken during the build process. Open the Build Specification and enable debugging to include the front panel and block diagrams.
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 ABAPI Dist Chg and Save VIs.vi -> ABAPI Dist Build LLB Image.vi -> ABAPI Copy Files and Apply Settings.vi -> EBEP_Invoke_Build_Engine.vi -> EBUIP_Build_Invoke.vi -> EBUIP_Build_Rule_Editor.vi -> EBUIP_Item_OnDoProperties.vi -> EBUIP_Item_OnDoProperties.vi.ProxyCaller
Possible reason(s):
LabVIEW: Cannot save a bad VI without its block diagram.
“GTSExecutionMenu.vi” was my highest level vi that included any lvclass wires. Maybe that’s why it returned its name. Anyway what is really happening is some screw up where it breaks any vi containing any lvclass. If you enable debugging the application will work, but then if you connect to it from the development environment it will suddenly break and you can trace down and see the broken class vi’s. To fix this, the “Remove unreferenced project library members” option worked for me to keep the LVOOP intact. Of course it blows up your exe a lot bigger because you are now including every variation of every polymorphic vi instead of just the ones you are using. You shouldn’t have to do this. There is a bug in the “Remove as much as possible” option which removes LVOOP definitions that aren’t possible to remove without breaking things. I hope this helps for the next guy that tries to use LVOOP.
07-27-2007 11:00 AM
07-27-2007 02:17 PM - edited 07-27-2007 02:17 PM
Message Edited by billings11 on 07-27-2007 02:24 PM
07-27-2007 02:26 PM