From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Actor Framework Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Message Maker?

Solved!
Go to solution

Can somebody provide a link to documentation for the Message Maker or describe it here? This is what I have done with it.

I installed Message Maker. After figuring out that I had to restart LabVIEW I found it under the tools menu. The dropdown was empty so I opened the feedback cooler demo and activated the tool. It gave me a list of classes and a single button to build selected. From the looks of it it just opens everything in the existing class.

I created a new project and changed the Message Maker dropdown to point to that. The listbox was empty so I created a new empty class. I then launched Message Maker again and the listbox was still empty. I wanted to change it to inherit from Message.lvclass but change inheritance showed nothing since this new project did not have any classes to inherit from. So I created a new VI and dropped Launch Actor on it so I can change the inheritance of my new class to be a child of Message.lvclass. The Message Maker still showed an empty list. I changed the new class to inherit from Actor.lvclass and now it shows up in the listbox for my new project. I am getting somewhere. I selected the new class and pressed the build selected button. LabVIEW returned the following error.

Error 1136 occurred at Property Node (arg 1) in Message Maker.lvlib:Get Public Methods from Tree.vi->Message Maker.lvlib:Message Maker.vi

Possible reason(s):

LabVIEW:  You wired an invalid item tag to a tree control property or method.

Property Name: Active Item:Tag

I am confused on how to properly use this. [Edit: I installed Actor Framework 3.0.7. It looks like the Message Maker was written for 3.0.6. Is it supposed to be compatable?]

=====================
LabVIEW 2012


0 Kudos
Message 1 of 3
(5,209 Views)
Solution
Accepted by topic author SteveChandler

Hi Steve,

Message Maker generates message classes that you use to invoke the methods of running actor classes.  It sounds like you have successfully installed it, so here is how it works.

1.  Open a project and add Actor Framework.lvlib to it.

2.  Create one or more children of Actor.lvclass, and create the methods you want for these classes.

3.  Open the Message Maker, and select your open project in the pulldown menu.

4.  The tool will display every child of Actor in your project.  If you have no Actors, the list will be empty, as you have seen.

5.  For every Actor, the tool will list the available *public* methods.  If your actors have no public methods, you will have no listings.

6.  The Message Maker will check the expected folder to see if a message class exists for each method.  If it finds a message class where it expects to find one, the method will be greyed out.  (The tool is rather naive at this point, in that it looks for a class file in a default directory, so it can be fooled if you move the class files around.)

7.  To create a message class, highlight a method and click the build button.  Message Maker will build the class and add it to your project.

8.  You can build several classes at once, by either selecting more than one method, or selecting an entire class.  I believe you can even select multiple classes.  The tool will build messages for each method highlighted, or all available methods in a highlighted class.

IIRC, 3.0.6 should be compatible with AF 3.0.7.  We had an issue at one point where AF 3.0.6 changed the message parent class, which in turn broke messages created with the tool.  My notes say this was fixed in the 3.0.6 release of the tool.  AF 3.0.7 did not change anything touched by Message Maker.

Message 2 of 3
(3,292 Views)

Awesome, thanks. That does clear up a lot. Maybe if I was more familiar with the Actor Framework I would have been able to figure it out.

=====================
LabVIEW 2012


0 Kudos
Message 3 of 3
(3,292 Views)