Actor Framework Documents

Showing results for 
Search instead for 
Did you mean: 

AF 4.1 for LV 2011 user.lib MAIN FORK

This package installs AF 4.1 for LV 2011 into user.lib.

This is the same version of the AF that released with LV 2012 with one performance improvement and one new method ("Substitute"). It is fully backward compatible with version 4.0.

This version installs into user.lib. The LV 2012 version installs into vi.lib, as it is now a formal part of LabVIEW.

This is the MAIN FORK. That means this is the blessed, non-experimental, certified, real community version of the Actor Framework. Anything in MAIN FORK will become a part of LabVIEW the next time LabVIEW updates its shipping version of the Actor Framework. All future versions of the Actor Framework will support all the functionality of the MAIN FORK.

There will be multiple EXPERIMENTAL and multiple DEBUG forks of the AF posted for the community to use. EXPERIMENTAL FORKs contain features that may not be stable and may be rewritten many times before they become part of the MAIN FORK (if ever). DEBUG FORKs are instrumented versions of the AF to support debugging. DEBUG FORKs are supposed to always be some version of the MAIN FORK but with debugging capabilities.

Knight of NI Knight of NI
Knight of NI

Is this an upgrade (i.e. a replacement) for 3.x or will it install into somewhere else in user.lib?

Since 4.x changed the API, does that mean If I have apps that use 3.x and I install this, I will have to fix those to conform to the new API?

Try to take over the world!
Active Participant
Active Participant

Appears to be a replacement (i.e. installs in the current directory).  If you have been using 3.x, prepare for some rework.

AristosQueue (NI)
NI Employee (retired)

For details about the rework that you have to do, see this thread:

Active Participant
Active Participant

v4.1.0.29 installs to "<user.lib>\ActorFramework", but older packages install to "<user.lib>\Actor Framework". If you're upgrading from AF 3.x, you'll also need to rename the folder prior to installing the new package.

Active Participant
Active Participant

Upgrade Instructions from Older Versions

Here are instructions for upgrading by hand. Set aside 30-60 minutes to do follow these instructions and check for success. CHECK ALL YOUR PROJECTS INTO SOURCE CONTROL BEFORE STARTING. You'll be happy you did if anything goes wrong halfway through.

  1. Install the vanilla VI Package of your current AF version. Any customizations you've made to the framework will be reverted.
  2. Open a LV Project and copy all classes from existing projects that inherit from AF's classes into this project. Close all other projects to prevent the AF classes from being locked for editing.
  3. Rename the following files in any order using the LV Project. DO NOT rename them using Windows Explorer or a shell prompt. Save the entire project after each rename (just to be safe).


Message Queue Pair.lvclass

Message Queue.lvclass

Message Queue Pair.lvclass:Obtain Message Queue Pair.viMessage Queue.lvclass:Obtain Message
Message Queue Pair.lvclass:Read Receive Queue.viMessage Queue.lvclass:Read
Message Queue Pair.lvclass:Read Send Queue.viMessage Queue.lvclass:Read
Message Queue Pair.lvclass:Release Message Queue    Message Queue.lvclass:Release Message

Send Queue.lvclass

Message Enqueuer.lvclass

Receive Queue.lvclass

Message Dequeuer.lvclass

Actor.lvclass:Get Queue For Sending To

Actor.lvclass:Read Self Enqueuer.lvclass

Actor.lvclass:Get Queue For Sending To

Actor.lvclass:Read Caller Enqueuer.lvclass

LastAck.lvclass:Read error report.viLastAck.lvclass:Read Error
LastAck.lvclass:Read Caller-to-Actor Queue.viLastAck.lvclass:Read Caller-To-Actor

Notes on renaming .lvclass files (in bold):

  • Place renamed .lvclass file in a folder of its own name. e.g. move "Message Queue Pair\Message Queue Pair.lvclass" to "Message Queue\Message Queue.lvclass".
  • After renaming any .lvclass file, switch to the "Files" tab in the Project Explorer and drag all class members to the new folder. No class members should remain in the old folder.

  1. Using the LV Project Explorer, move Actor Framework.lvlib from "<user.lib>\Actor Framework" to "<user.lib>\ActorFramework". Now open the "Files" tab in the Project Explorer and drag all of the library's dependencies into the new folder. Repeat for any other parts of the framework you've been using that are not members of the library (e.g. Batch Msg.lvclass).
  2. Save everything, close your project, and close LV.
  3. Uninstall AF.
  4. Install AF 4.1 using the package above.
  5. Open your project. It should load without problems. Verify that everything upgraded successfully.

Notes on upgrading from AF v3.0.7

  • "Stop" has a new required input. You'll have to add it to all dispatches of this VI.

Works like a charm. Thanks for these nice upgrade instructions.


Is there a later version for LV2011 which contains the Launch Nested and Launch Root Actor.VI?