[LabVIEW随笔-16] -ActorFramework-消息传递与系统设计

如果一个操作者想要与不同操作者通信,为了降低耦合性,它必须去同一个根操作者进行通信。不能直接与另一个嵌套操作者进行通信。

 

一、启动嵌套操作者

1、创建两个Actor

image

 

2、重写Service当中Launch New Window方法,让其"启动嵌套操作者",并将其输出"嵌套操作者入队"绑定到Actor当中(在其操作者私有数据当中添加操作者队列信息)

image

 

image

 

3、在ChatRootModel ActorCore启动嵌套操作者,将Controller进行启动,并保存该嵌套操作者引用

image

 

image

 

 二、对嵌套操作者进行消息发送

4、我们现在需要实现消息从Service Root->Model->Controller的发送

  在Controller当中创建一个接受文本,并将其引用存储在私有数据当中

image     image

 

5、对字符串引用赋值创建一个静态VI,并生成相应消息

imageimage        

 

 6、在中间层(Model层)发送消息对Controller当中的文本进行更新,并创建相应消息

image

 

7、在ServiceActor当中对Model进行消息入队更新

image

 

8、在ServiceActor当中当按下SendMessage按钮时,发送 Message消息

image

 

 

 9、执行发送

image

 

三、对UI界面进行重写

  10、该VI为动态分配VI,将连线段变更为动态接线端即可

image

 

  11、使用脚本创建Actor,修改继承父类类并重写UpdateUI方法

  

image            image

 

 

 

image image 

 

image

 

  

image

 

image

 

 12、修改嵌套操作者类并禁止开启Controller类的前面板

image

 

 

 

image

 

13、执行

 

image

 

posted @ 2026-05-10 22:16  nonAny  阅读(7)  评论(0)    收藏  举报