Jump to content

Problems building exe with LVOOP


Recommended Posts

I have a large project that makes significant use of LVOOP. It is essentially a test executive that sequences lots of different types of tests in a configurable way. I used to use a ton of variants in and out of these tests so they could be used interchangably in the archetecture of my application, but when LVOOP came out I rewrote my test executive to us an LVOOP class called "GTSTest". Then I have about 10 sub-classes that inherit from the "Test" class. Each of those sub classes are the actual specific tests. Here is a shot of the project:

GTSProject-1.jpg

This is in 8.2.0.

You can see I am creating a main class called "GTSTest" and that gives me polymorphism of any specific kind of test like "Torque Center.lvclass" and "AutoLinearize.lvclass". It works fantastic in the development environment. My problem now is I can't build anything with any of the LVOOP stuff into an executable. I originally added all the classes as dynamic vi's because some of them pop up their front panels. An application engineer suggested taking them out of the dynamic vi's section, but that didn't make any difference. Here is the error I am getting:

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

------------------------------------------------------------------------------------------------------------

Autolinearize.ctl is the alphebetical first class's private data definition. So what's going on? I made all the classes dynamic and it gives me the error. I made none of the classes dynamic and it gives me the error. But actually I know I'm going to need at least some methods of all the classes dynamic because a couple of the methods get subpanelled in the program so I need the front panels. I've searched everywhere and I see no documentation at all about how to build LVOOP into an executable. But clearly you need to do something special for this to work. Can anyone help me?

I have also already tried checking the "do not disconnect type definitions" box. It did not make a difference. The other strange thing is in the preview I am seeing that it does not build lvclass vi's into the exe file like normal. It is creating a new directory within the support directory named for each lvclass, then it actually puts each lvclass vi in that directory! What is going on!?

Link to comment

I have had the same problem when building executables.

NI knows about my issues and have fixed these bugs for the next version of LabVIEW that they are working on.

But the work around I had to use was to include the block diagram in the executable.

You do that by enable the "debug" option when you create the executable.

Did this solve your build problems?

//Mikael

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.