Jump to content

Thoric

Members
  • Content Count

    150
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Thoric

  1. Not for me, I develop in 2014/15 so preferably keep it in 2013 if you can. What's the reason for the upgrade, there a particular feature you want to adopt that's not available in 2011? Or are you simply abandoning older LV installs on your dev machine ;-)
  2. Actually, option 1 is the option I implemented, but afterwards led to a dependency complication that made me wonder about alternatives (hence my post above). My current situation is now this: Main launches View Main, Project and ConfigData actors. View dynamically launches View subactors, as and when required. Because the View subactors require access to the Project service, I need to pass the Project actor messaging queue to both View, and then subsequently onto each View subactor. This is first conducted by Main, then by View to each subactor. The View actor provides a menu f
  3. That's neat. My configuration implementation is different, in that I have a specific list of stats that I want to write and a service actor is responsible for controlling the values. Therefore updates are sent to it live (notifications) from the other actors. On exit (or on demand if needed) the actor saves to file. Your implementation which is entirely re-usable as there is no coupling whatsoever, mine not so much. I did however take the elements associated with file I/O and make a reusable lvlib out of those, so there's some reuse. Speaking a little more on Service Hierarchy. I came acro
  4. So this is the option I went for. It provides the subView with a reference to the service actor, placing the subView (and it's caller View actor) above the Project service actor. This seems to work well, and I'm progressing my trial project nicely. I'm learning the power of the framework as a I go, and realised a few places where using the State Notifier instead of an Event Notifier would have been better. For some reason I thought there could only be one state notification, as compared to any number of event notifications. I think maybe I misinterpreted the intent in one of your instructi
  5. Another question, if I may. I have a View actor with a subpanel. It dynamically launches child actors (that I'm calling subViews) and docks them in the subpanel. Numerous subViews exist, they can be switched using controls in the View UI. View actor registers for all notifications from the subViews, as these are often requests for information, to which it can reply. When a new subView actor is loaded and launched it needs to populate it's internal data, so the Self:Initialise case includes in the list of actions "Request Project Data", a case which calls a Notify Event labelled "Request Proje
  6. Another question James, this one is more academic. I'm trying to maintain zero-coupling between my actors, and in the current situation I have two independently designed actors called View and ConfigData. ConfigData stores and retrieves the application information from file, including an array of a cluster that contains two elements: the Title (string) and Path (path) of the most recently opened Projects. View actor hosts the User Interface and customises the menu to show the four most recently opened projects, stored internally as an array of Title strings. Whenever the applicatio
  7. As the code grew I incidentally came across this solution. Not great, and I should make it a typedef, but it's better that it was.
  8. I'm experimenting with this framework, and my early impressions are that it's very powerful and flexible. In my experimentation I created a Messenger Event for registering with a sub-actor Observer registry. In the code I can give the User Event a custom label to make the Event Structure case more understandable (green highlighting in image), but I'm struggling to set a custom label for the Messenger Event, which I store in the actor internal data shift register (Blue highlighting in image). Is there a recommended approach that I'm missing? Applying a typecast always fails.
  9. Darren, Thank you. I have been trying to dynamically launch something into the correct application context to ensure access to the full class (and library) hierarchies, to no avail. This appears to have worked, so I'm very grateful! If you're at the European CLA Summit in Rome this year you will be able to see the fruits of this effort in my presentation (hopefully!).
  10. I'm creating a utlity VI to launch from the Tools menu. When a VI is launched from here it is thrown into the unique NI.LV.Dialog application context. From here, things get tricky, because we can't immediately see the VI from which the menu item was called. If you call: then you get an application instance and a VI name to use in Open VI reference. But that doesn't seem to solve an issue I'm having. In my calling VI (from where Tools > MyUtilityVI was selected) I have front panel control with User Tag information in them. I can get a reference to this VI and use Read User Tag.vi to
  11. Totally understand, and completely agree. I've had my presentations recorded before and I think I'd be fine with them on the searchable domain (YouTube), but I know there are others who wouldn't be. Good call.
  12. My need is to clear the "Window move" undo entry, which I'm programmatically doing after loading the vi. Hence I needed to wipe the undo history programmatically too.
  13. Awesome. Next year I'll make more effort to visit the sessions you aren't recording, that way I can get to see more overall. Thanks Mark!
  14. Passed the CLED with huge relief!

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.