Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Issues building executable

***UPDATE 4.1.2015 1244pm*** I have resolved my issues and now have a working executable. After working through the problem, it was not related to missing files as I had originally thought. I was not setting up the Launch Root Actor correctly in regards to a known issue. However, I didnt know about this known issue, until now!

Thanks everyone for the feedback, support, and information!

***END of Update***

I realize I am probably making a rookie mistake, but I just finished a LabVIEW application built around AF. Trying to create an executable and test. The exeuctable builds as expected.

The top level run VI that is called when the executable is run has the "Launch Root Actor" vi in it, launching my main Actor VI.

When I run the executable it does nothing. I assume its probably a path situation, but if I enable debugging on the executable and rebuild then launch the exe all is ok. When I ***try to drop down a probe*** in the remote debug, I get the little windows circle thingy saying that windows is processing something, that happens for a while and then nothing. If I try to close the LabVIEW remote debugging windows at this point, they are frozen, and wont do anything. I have to go to the task manager to shut everything down, even LabVIEW. All I do is click on highlight execution, I havent even clicked the run arrow of the VI yet.

Not sure whats up. My Launch VI is in the same folder as all of the actors so I would think that the VI can find the path to the classes?

***Edits***

Launch Actor Core.png ***the file that it cannot find is part of the Config INI file lvlib, it cant find the "load" vi. I look in my dependencies in the project and it is there.

I can highlight execution, however if I try to drop down a probe everything freezes up.

My application never makes it past this VI. Not sure what I am doing wrong.

Message 1 of 19
(9,115 Views)

Are you telling your AppBuilder to remove unused VIs? Dynamically loaded stuff gets stripped. You'll probably need to add those VIs to the "always include" section of your build spec.

0 Kudos
Message 2 of 19
(5,321 Views)

AQ I tried that and it does the same thing. I removed checkmarks for all of the items on the "additional exclusions" page.

Launcher.png

This is my top level launcher, can it be this simple? Am I missing something? It works fine in the development environment. When I debug the exe I am getting an error 1026 after the Run Asychronous VI node in the Launch Actor Core VI of the Actor Framework.lvlib.

0 Kudos
Message 3 of 19
(5,321 Views)

Try building with Debugging enabled and "wait for debugger to launch" checked.

Then run your exe and run LabVIEW, go to the Operate>Debug remote application or DLL and that will download all the diagrams in your exe to your LabVIEW.

This works best when done with two different machines.

Now you can put breakpoints and navigate through the code that is actually in the exe to see where it it getting stuck.

Edited to add link:

http://digital.ni.com/public.nsf/allkb/8DA679805915DE40862572D5007B2F70

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
0 Kudos
Message 4 of 19
(5,321 Views)

Fabiola,

I have done this already, my apologies if it wasn't clear in my original message. The problem arises in the Launch Actor Core VI. At the Run Asychronous node, I get an error 1026. I have probed that wire and there is a reference there, not sure what is causing the error. What makes it even more interesting is that sometimes when I am probing the wires, LabVIEW freezes up and I have to shut it down via the task manager, it is non responsive. This has happened a few times while I was troubleshooting this code.

More information, I created a sample project using the AF template in the Project builder in LabVIEW, and created an EXE from there, everything works fine. I then went to another project of mine and created an EXE from it, it uses the AF as well, and it does the same thing this one is doing. It never gets past my launcher VI. Perhaps I dont have enough "meat" in the launcher VI? A reference is not found? Or is it as I suspect and something to do with a path issue with my classes?

In my project, I have the launcher VI launch the Root actor, which is the main UI. A user can select several sub menues from the main UI, which then launches a respective nested actor. Everything is dynamically launched in this application.

I am curious if I am doing something wrong? I've never had issues creating executables before, then again, I've only recently started working with classes and launching classes and plugins dynamically.

0 Kudos
Message 5 of 19
(5,321 Views)

OK I now have more info to go on. I was able to troubleshoot a little better on my home PC for some reason, maybe something is locked down on my work PC and that was the reason it kept crashing.

At any rate, I was able to put break points in the executable code. When I run the launcher VI it calls the Launch Actor Core VI. I see now that the 1026 error on the Asynchronous Call is expected the first pass through and the 2nd time it calls it correctly and then fires the Actor  VI.

Once the Actor  VI fires, when it goes through the Count Actors VI, the count gets incremented to 1, and then it runs again immediatlely and gets reset back to 0, which calls the Close Front Panel Invoke Node, closing the VI. The chain stops at this point and never proceeds to the Pre-Init Launch VI.

I have deselected any options in the application builder to not close any libraries or unused VIs so that shouldnt be the issue. I have debugging enabled because I am debugging the exe.

What else could be going on?

Steven Howell
Controls and Instrumentation Engineer
Jacobs Technologies
NASA Johnson Space Center
0 Kudos
Message 6 of 19
(5,321 Views)

I think I might have figured it out, but not sure exactly why it is doing what it is doing.

If I change on the launcher VI and set the Open Front Panel of VI to False, the Actor FP comes up when its launched, as it should. If I set it to true, the VI never runs. I noticed in the Actor VI that in the runtime engine if you have Show FP to True, it gets ignored, false is the only way, then I have to set my Override Actor to show FP in the Properties and then close out when I shut it down.

Is this expected behaviour?

At any rate, I think I can get my application working at work tomorrow. Will try again.

Can someone explain this behavior, am I losing my marbles? 😃

0 Kudos
Message 7 of 19
(5,321 Views)

I only saw your post now and my first thought was - why does he have show front panel = True?

I went throught this here, and it's also explained here.

This really should be better documented.

Danielle

"Wisdom comes from experience. Experience is often a result of lack of wisdom.”
― Terry Pratchett
Message 8 of 19
(5,321 Views)

Danielle,

Thank you for the links, I thought I was losing my mind.....

0 Kudos
Message 9 of 19
(5,321 Views)

Thanks everyone for the feedback and information, I have resolved the issue. I will just have to remember to not put a true constant on the launch root actor and make sure my actors that I want the front panels to appear, to change the settings in properties to do so.

Message 10 of 19
(5,321 Views)