Hi Tom. Great series. I've basically used it as the foundation to my understanding of Actor Framework. However, one thing I can't seem to find anywhere is patterns for passing data from message handling routines to the helper Actor-Core loop we add - such as the event handling loop. I ?understand? the need for raising an event to get from the base-class ActorCore loop (which I'm assuming processes all messages received by the actor) to the helper-loop. But when it comes to passing large lumps of data, an event seems inefficient, I would prefer to use a global. However, I can't use a global without then needing one for each Actor instance that gets launched. Which means an array, etc. etc. That seems excessively complicated. I have started using Notifiers, but again, does not seem efficient. And tracing through code is not easy when notifiers suddenly create asynchronous activity. I could use a queue, but that seems to defeat the point of an actor (I still picture them as an instantiable QMH). Can you provide any help on this? The whole pass-by value/reference issue is also knotty. Can I put a control on the Pre-Lauch-Init front-panel and add a reference to it? Or must all controls that are used as "instance global" intermediaries, be on the executing Actor Core front-panel? I also find the need to use Self-Messaging to get information back from the helper-loop to the Actor-Core loop creates a lot of extra message/handler code. Is there a way of avoiding this? Just from the point-of-view of keeping the code simple and easily testable.
Hi Tom, thanks for this amazing tutorial. It would be fantastic if you can provide all example codes in LV 16 or earlier ( i know you've made some codes in LV 15 and many thanks for that). Thanks and looking forward to more videos here
Again, nice video. Map only becomes available in LV2019 !? However, similar data type is available in other programming languages form the beginning. For example, Map is similar to dictionary in C# or the same data type name in Python, lvlib is similar to namespace ... NI is trying to make LabVIEW a general programming language. LabVIEW is no longer just positions itself as a tool for scientist and engineers without computer engineering background. Sadly, I have to say LabVIEW has steeper learning curve than other general programming languages now. Good luck, LabVIEW.
Great introduction and a great help. Finally, I have a section in my project where I have a big usage of the maps.
Hi Tom. Great series. I've basically used it as the foundation to my understanding of Actor Framework. However, one thing I can't seem to find anywhere is patterns for passing data from message handling routines to the helper Actor-Core loop we add - such as the event handling loop. I ?understand? the need for raising an event to get from the base-class ActorCore loop (which I'm assuming processes all messages received by the actor) to the helper-loop. But when it comes to passing large lumps of data, an event seems inefficient, I would prefer to use a global. However, I can't use a global without then needing one for each Actor instance that gets launched. Which means an array, etc. etc. That seems excessively complicated. I have started using Notifiers, but again, does not seem efficient. And tracing through code is not easy when notifiers suddenly create asynchronous activity. I could use a queue, but that seems to defeat the point of an actor (I still picture them as an instantiable QMH).
Can you provide any help on this? The whole pass-by value/reference issue is also knotty. Can I put a control on the Pre-Lauch-Init front-panel and add a reference to it? Or must all controls that are used as "instance global" intermediaries, be on the executing Actor Core front-panel?
I also find the need to use Self-Messaging to get information back from the helper-loop to the Actor-Core loop creates a lot of extra message/handler code. Is there a way of avoiding this? Just from the point-of-view of keeping the code simple and easily testable.
Tom, love your videos! I think you may have a typo in your into slide... does your last name really have three L's in a row? ;)
Yep, you're right. Annoyingly I only noticed this a year in! 😂
Hi Tom, thanks for this amazing tutorial. It would be fantastic if you can provide all example codes in LV 16 or earlier ( i know you've made some codes in LV 15 and many thanks for that). Thanks and looking forward to more videos here
You can rename the map value with right-click --> properties.
Again, nice video. Map only becomes available in LV2019 !? However, similar data type is available in other programming languages form the beginning. For example, Map is similar to dictionary in C# or the same data type name in Python, lvlib is similar to namespace ... NI is trying to make LabVIEW a general programming language. LabVIEW is no longer just positions itself as a tool for scientist and engineers without computer engineering background. Sadly, I have to say LabVIEW has steeper learning curve than other general programming languages now. Good luck, LabVIEW.
Tom - I believe you can rename a control in your map if you access it through the control properties.
Good to know, cheers Ryan. I assumed it was like a strict type def that couldn't be renamed.