Jump to content

Recommended Posts

Hi James,

I'm using your framework for my project, and I really enjoy the functionalities and the usability.

But, I just upgraded from LV 2015 (with Messenger Library 1.8.3.82), to LV 2017 (with 1.9.6.99), and I met the Error 1003 issue, which seems to be linked with the issue 9 you're pointing here.

As far as I have a Main vi (wich was ActorNR) in charge of launching a lot of other actors. I just put it in non NR, and the issue is effectively resolved.

I see on the Issue 9 link that you're currently working on changing the Launching of NR actors.

Do you plan to release a new version soon? (btw, the workaround is acceptable)

Thanks.

Share this post


Link to post
Share on other sites

I'm trying it out on my own projects at the moment, but I intend to release it.  I could post a copy here if you want to try it.

Share this post


Link to post
Share on other sites

Hi James,

I don't need a copy for the moment as far as your workaround is doing the job.

On the other hand, I'm using your framework on RT Target.

Until now, I was only working in debug mode, and now would like to build an RTEXE.

During build process, I get an error at save step :

A VI broke during the build process from being saved without a block diagram. Either open the build specification to include the block diagram of that VI or enable debugging to include the block diagrams of all VIs in the build. Report this error to National Instruments technical support.

C:\Program Files (x86)\National Instruments\LabVIEW 2017\vi.lib\drjdpowell\Messenging\Action MSG\Async Execute Shell.vi

Following the NI Kb : https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P826SAC

I uncheck "Remove block diagram" for my dependencies, and the build process goes well.

But, when I execute the RTEXE, an error on Async Execute Shell.vi is raised :

Error 1003 occurred at Error in launching "Logger(X)": Open VI Reference in Async Action.lvlib:Action.lvclass:Async Execute Core.vi->ReferenceMonitor.lvclass:Send Message when reference destroyed.vi->Parallel Process.lvlib:Startup type 2.vi:6480001->Actor Template Support.lvlib:Actor Startup.vi:7070010->Logger.lvclass:ActorNR.vi->Actor type2.lvclass:Actor.vi:6640001->Dynamic Launch Shell.vi:5450003->Dynamic Launch Shell.vi.ACBRProxyCaller.50C00004

Possible reason(s):

LabVIEW:  The VI is not executable.  This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it.

Async Action.lvlib:Async Execute Shell.vi

Do you have an idea about why this VI is broken during build process, and a potential idea on the intended steps for making this working well ?

Edit :

I finally succeeded to make evrything working when I also uncheck "Disconnect Type definition", "remove unused members of project libraries", and I unchecked "Remove block diagram" for my main VI too. (I didn't want to enable debugging).

What I finally don't understand, is not about your framework, but about this error 1052 during build process. What does that exactly mean ?

Thanks. Regards.

Olivier

Edited by Laboule

Share this post


Link to post
Share on other sites

I suspect one of your actors, or something it calls, is broken in the build.  "Async Launch Shell" is what calls all the actors, and any one being broken will throw an error like this.  What I would do to debug is build all my actors as separate EXEs.  Even if they don't do anything when run by themselves they should at least run.  See if you get an error in building one of them.   Unfortunately, debugging EXE problems is very painful and time-consuming.  You could try re-asking your question on the main "Messenger Library" thread, as other developers who use it on RT have posted there and may have advice.

Edited by drjdpowell
  • Like 1

Share this post


Link to post
Share on other sites

Hi James,

You're right, I should have written on the other thread for not polluting this Topic. But now it's done, I would like to close this with the solution of my problem.

Actually, I had a kind of corrupted VI, not easy to see, and not found just building each actor independently. I just realized that something went wrong in my code behavior, and apparently, the VI didn't executed at all (always returning default values), but not easy to debug as it was a reentrant SubVI.

I finally rewrote this VI from scratch, and also did a mass compile (because I had a 1min freeze of LabVIEW each time I stopped my main VI, and that created insanity errors  https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P9QYSA0 )

Everything went back nomal after that, and I'm now able to build my Applications without removing Block diagrams.

Btw, I realized when unchecking "Remove unused members of project libraries", that you have a broken VI in one of your lib : "Extract Variant to Data.vi" from SendMSG.lvlib

Regards

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
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.