Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

AF PPL Plugin

Solved!
Go to solution

Dear Experts,

i am working in a team on medium to large projects (project size is always a matter of perspective ) which we ship in compiled form (exe).

The obvious thing if you have large junks of code is break them down in smaller sized packages.

Labview has a solution for this:

https://forums.ni.com/t5/LabVIEW-Development-Best/Plug-in-Architecture-using-Packed-Project-Librarie...

i am just digging into the AF and as far as i know it is designed for large projects.

so using AF with a Plugin Architecture does not work the reason is found here:

https://forums.ni.com/t5/Actor-Framework-Documents/PPL-Support-in-Actor-Framework-Project-Provider/t...

 

my questions are simple:

did i miss something and it is possible to use a AF PPL Plugin Architecture without crude or ugly workarrounds?

 

what is the intended way to create large AF based projects with small quasi-independent(inter module communication over actor messages) modules who are maintained by multiple persons using well defined interfaces, where each module is built as a shippable binary.

 

best regards,

gregor

0 Kudos
Message 1 of 6
(4,039 Views)

@talorion wrote:

so using AF with a Plugin Architecture does not work the reason is found here:

https://forums.ni.com/t5/Actor-Framework-Documents/PPL-Support-in-Actor-Framework-Project-Provider/t...

 


That link describes how to use AF in a PPL environment.  How did that lead you to conclude that it doesn't work with PPL plug-ins?

Message 2 of 6
(4,018 Views)

Thank you for your reply.

maybe I am wrong but as far as I understood it the solution posted in the link is building an ppl from the actor framework, update the Labview.ini, and then it should work.

again maybe I understood something wrong but this is not a productive solution for 2 reasons: the first one is when I tried this on my system It messed up the ide completely to the point where I even could not edit new created classes in new created projects without crashing. I had to reinstall Labview completely.

But let's assume I am to dumb and I just did something wrong. The second problem I have, and maybe I misunderstood something, I would loose all convenience functions provided by the ide. You maybe think this is a minor problem, but if you scale up the project and have to do everything by hand it is impractical, at least in my opinion. It's like a code editor without code highliting and code completion, you can do the work but it is not easy when the project gets bigger. 

This is what I meant by crude and ugly workarounds.

i don't want to complain. please, if I misunderstood the solution provided feel free to correct me.

best regards,

gregor

0 Kudos
Message 3 of 6
(4,009 Views)

@talorion wrote:

Thank you for your reply.

maybe I am wrong but as far as I understood it the solution posted in the link is building an ppl from the actor framework, update the Labview.ini, and then it should work.


There is an update to that post (at the bottom) that says the INI token is deprecated.  Now, it suffices to have the PPL in your project or dependencies.

 


again maybe I understood something wrong but this is not a productive solution for 2 reasons: the first one is when I tried this on my system It messed up the ide completely to the point where I even could not edit new created classes in new created projects without crashing. I had to reinstall Labview completely.

Needless to say, we did not observe this behavior when we were testing the feature.  I'm not sure what you did to get into that state; if you can recreate your steps, you should probably report the situation to NI technical support.

 

Did you try to switch over to an AF PPL after you had created several actors?  There is a specific procedure for doing that - you're supposed to drag the AF library into your project, right click on it, select "Replace with a packed library...", and then select your new PPL.  My understanding is that the project will then relink your existing code to the PPL.  If you don't do that, then all of your existing code will still point to the original source code library.  The IDE tools *should* block operations on the affected actors until you fix the links.

 


The second problem I have, and maybe I misunderstood something, I would loose all convenience functions provided by the ide.

The point of the PPL support is that, once an AF PPL is in the project, the AF tools should continue to work and should link any new AF code to the PPL.  The tools should continue to work as expected.

 

Again, I don't know how you got into the state you did.  I would recommend listing your steps, and reaching out to NI technical support.

Message 4 of 6
(3,998 Views)

Thank you for your kind support.

 

Unfortunately I can not tell what exactly I did to mess up so badly.

 

After your answer I am confident to give it another try. I am not sure when I find time for another shot.

0 Kudos
Message 5 of 6
(3,996 Views)
Solution
Accepted by topic author talorion

Just to finish this up,

 

i had problems again with building the ppl of the actor framework again, and after i contacted NI support they confirmed that there seems to be a bug in 2017 (it works in 2016) which leads to not be able to build the AF as PPL.

 

 

0 Kudos
Message 6 of 6
(3,973 Views)