To inherit from Actors inside a PPL a special workflow is needed which can be split into 4 basic steps:
Backup these two directories:
- <LabVIEW>\vi.lib\ActorFramework
- <LabVIEW>\resource\AFDebug
Create a PPL from the Actor FrameworkFor more information see the Solution of this
Forum Post .
- Create an empty project and add the Actor Framework.lvlib (<LabVIEW>\vi.lib\ActorFramework)
- (Optional) Add other parts of the Actor Framework to the Actor Framework.lvlib if needed
- <LabVIEW>\resource\AFDebug\AF Debug.lvlib
- <LabVIEW>\vi.lib\Actor Framework\Time-Delayed Send Message\
- Time-Delayed Send Message.vi
- Time-Delayed Send Message Core.vi
- Time-Delay Override Options.ctl
- <LabVIEW>\vi.lib\ActorFramework\Batch Msg\Batch Msg.lvclass
-
<LabVIEW>\vi.lib\ActorFramework\Reply Msg\Reply Msg.lvclass
-
<LabVIEW>\vi.lib\ActorFramework\Report Error Msg\Report Error Msg.lvclass
-
<LabVIEW>\vi.lib\ActorFramework\Self-Addressed Msg\Self-Addressed Msg.lvclass
- Create a build specification for a Packed Library and set Actor Framework.lvlib as Top-Level Library
- Build the PPL Actor Framework.lvlibp
- After completing the build, make sure to copy your backups back to the LabVIEW directory
Create a new (Base-)Actor that inherits from the Actor Framework PPL and build this one to a PPL
- Create a new empty Project for your Base Actor and add the previously created Actor Framework.lvlibp
- Select My Computer -> New -> Actor
- In the Dialog, choose Actor Framework.lvlibp:Actor.lvclass as Actor to inherit from
- Create a new Build Specification for a PPL, and set the new Base Actor.lvlib as Top-Level Library
- Build the PPL Base Actor.lvlibp
Create a new (Child-)Actor that inherits from the Base Actor PPL
- Create a new empty Project for your Child Actor
- Add the previously built Base Actor.lvlibp
- Select My Computer -> New -> Actor
- In the Dialog, select to inherit from Actor Framework.lvlibp:Base Actor.lvlib
- In the Properties of Child Actor.lvclass select Inheritance -> Change Inheritance
- In the inheritance tree set inheritance to Base Actor.lvlibp:Base Actor.lvclass
Additional Information
Be aware that packing the whole Actor Framework into a PPL requires you to only use this PPL for all related projects in the future. If you start mixing Actors that inherit from the PPL and Actors that inherit from the original Actor Framework in the vi.lib, you may get big dependency problems. Make sure all Actors that are used will inherit from the Actor Framework.lvlibp:Actor.lvclass.