Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

"This target depends on multiple actor framework libraries . . ."

Solved!
Go to solution

I have the problem that was mentioned in this thread: https://forums.ni.com/t5/Actor-Framework-Discussions/Actor-Framework-PPL-issues-in-LV2020/td-p/40661...

 

I don't understand why everything was working fine for me until recently, long after that thread.

 

I tried replacing "ActorFramework.lvlibp" with "Actor Framework.lvlibp" in a few different ways, but I either crashed LabVIEW or mangled my project.

 

Does the packed library really need to be renamed? What's the best way to do that?

 

My scripting skills aren't good enough, so I'm going to be making actors and messages the slow way for now.

0 Kudos
Message 1 of 5
(1,981 Views)

Do you have a working project with "Actor Framework.lvlib" or "....lvlibp"? You do (at least in general) need the space for it to work.

 

If you have a project that's working with a library that doesn't contain the space, my first suggestion would be to delete/rename your non-space-named library, and then redirect to the correctly named PPL when you get the search dialog.

 

If you don't want to do that, or you can't get it to work for some reason, you could a) post here with more details and we can try again, or b) perhaps try modifying <LabVIEW 20xx>/resources/Framework/Providers/MessageMakerProvider/_Message Maker/_support/Inherits from an Actor.vi or similar, but I haven't tried that to solve this problem... I also suspect it might lead to further trouble in future...

 

What version of LabVIEW are you using, and how do you build your PPLs? Did you recently change anything?


GCentral
Message 2 of 5
(1,972 Views)
Solution
Accepted by topic author auspex

Yes, it really needs to be renamed, unfortunately. I went through the same thing, and had a hell of a time doing the replacement. Crashes and mangling the project(s) were extremely common. Eventually it was possible to brute force through the replacement. The pain was well worth the reward - everything has worked flawlessly since then, and some other obscure Build to EXE issues resolved too.

 

Renaming the ActorFramework.lvlibp file won't work; you need to build a new Actor Framework.lvlibp from source.

 

I had the best luck including both PPLs in my project at the same time. This cut hugely cut down on problems because LabVIEW would flag "wire conflicts" instead of "missing VI" (or worse, "missing parent class"). I think the missing files more likely lead to crashes.

 

Then you can choose "Replace with..." on the ActorFramework.lvlibp and point it to Actor Framework.lvlibp. It won't get everything, but probably ~90% of the replacements are correct. At this point the project will be mangled. Fix it by finding the last ~10% (Find Callers, or Why is this in dependencies) that still point to the old ActorFramework.lvlibp. You'll probably need to manually replace each item. It's tedious but not that bad.

 

I think "Replace with..." didn't work on PPLs before LV2020. If you're on an earlier version than 2020, I'd say you're pretty much SOL. This issue alone was the reason we upgraded our lab to LV2020.

 

If you don't take on this task right away, here's one way to make actors & messages without needing to go "the slow way". Set your Actor to inherit from the normal vi.lib Actor Framework.lvlib and do all the scripting you need (this might need to be in a separate temporary project to avoid the "multiple libraries" error). Then right click the Actor Framework.lvlib dependency and Replace with PPL, pointing to your ActorFramework.lvlibp.

 

It's not fun; good luck...

Message 3 of 5
(1,953 Views)

I have a working project with "ActorFramework.lvlibp". Packed, no space in the name. It had been working since earlier this year or late last year.

 

If I use a PPL built with the space in the name, I can't select it at all because the name doesn't match.

auspex_0-1627141584099.png

 

If I just rename the PPL I've been using, I get this dialog:

auspex_1-1627141758158.png

 

If I select the empty branch with the space in the name, I get the same dialog as before. If I select the other, I get:

auspex_2-1627142084954.png

 

I'm using LabVIEW 2020 SP1 (64 bit) on Windows 10. I built the PPL from the provided example. As far as I know, I haven't changed anything recently.

0 Kudos
Message 4 of 5
(1,938 Views)

Both PPLs in the projects is working for me. It's tedious, but no longer calamitous.

0 Kudos
Message 5 of 5
(1,929 Views)