Jump to content

jgcode

LabVIEW Tools Network
  • Posts

    2,397
  • Joined

  • Last visited

  • Days Won

    66

Posts posted by jgcode

  1. Typically, I keep my actual data disconnected from the FP. If it's a control we're talking about, I use an event to update internal state data and then reference that where necessary; if it's an indicator, internal state data will occasionally be pushed to the front panel. I use locals over property nodes if I don't need to enforce execution order, but to be honest, everything has its place. I didn't mean to hate on locals, necessary, but they just leave me feeling icky.

    I do the exact same thing - separating data from UI.

    I just like don't have issues with using locals to update a control when it comes time to push state data to the FP.

    I expect that you still bend or break your rule, though... That's what rules are for. :)

    There is one particular use case where I use them for the wrong reason but it's hidden - but yes you are right! However, normally I don't and don't need to break that rule :)

  2. DSC module uses totally different Shared Variable type than LabVIEW base. So, if you want to use functions for monitoring SV value changes, you cannot use LV base functions like "Read Variable" on the same variables. But you can use the DataSocket functions like "DataSocket Read".

    I am not sure if that entirely true - you should be able to convert one datatype to another e.g. using a transitionary string and making sure the URLs are correct (as they are different).

  3. You can't do this.

    If creating plugins like this the Parent Class is the 'interface' so you should design it to use DD to add new behavior from Child Classes - as opposed to case structures as you mentioned.

    Is a Control or View an Instrument?

    I would say no - so maybe you should look at a different type of relationship.

    For example setting the e.g. view with the instrument data rather than inheriting from it etc...

  4. I have added a new version to the LAVA-CR - v1.1.0.39 which contains the following new features:

    - New (): Added 'New Templates' feature

    - New (): Added 'Methods Sandbox' feature

    - New (): Added 'Refresh Icon' feature

    There are now in built templates I use - you can pop-up on a Class and select New Template to add a template to that Class

    If there are other common templates, please post and I can look at adding them

    post-10325-0-35211500-1330446101.png

    By placing your own templates in the Templates Folder...

    post-10325-0-61386500-1330446103.png

    post-10325-0-09803700-1330446096.png

    ...You can script new Class Methods with them

    Pop up on a Class and select Methods Sandbox

    This UI will allow you to quickly script either the inbuilt or custom templates to create new Methods:

    post-10325-0-70419300-1330446097_thumb.p

    The last feature allows you to pop up on a Class Method to quickly refresh a Method's icon without having to open the Class Properties Dialog and refresh all icons

    post-10325-0-16668600-1330446102.png

  5. I have added a new version to the LAVA-CR - v1.0.0.23

    post-10325-0-25492500-1330269971_thumb.p

    This version supports LabVIEW 2011 and integrates into the LabVIEW Project Provider API

    The previous version was broken in 2011 as the Icon Editor API was not supported due to a switch to PPL 2011, so this functionality will not be included at the moment.

    I started playing around with the Provider API with Create Child Class which was a good plugin to start with.

    Along the way I found out that there was a limitation preventing me from releasing individual packages under one 'banner' so I will just be upgrading this package with new functionality in the future.

    And therefore won't be updating the Create Child Class package I posted - it will be done in this package.

    I've also moved the Rename LVOOP Labels code into this package as it more intuitive to use with the Provider.

    I need to brush up some stuff (examples etc...) but it this package is ready for feedback so please post :)

    So, in summary v1.0.0.23 supports:

    • Rename LVOOP Labels
    • Create Child Class
    • Clone Method

    Right-click on a Class or Class Method VI to access the plugins:

    post-10325-0-76596300-1330270136.png

    Go to Tools>>LVOOP Assistant to access other stuff:

    post-10325-0-07820900-1330270092.png

    It also uses the Preferences code I OpenG'd up :)

    post-10325-0-45954900-1330271231_thumb.p

    Enjoy!

  6. Not keen on the document idea which would basically be just a list of links that someone has to maintain.

    Actually you could add links, text, pictures or even code.

    And the Community could maintain and add to it as opposed to an individual someone.

    Currently code in the CR is reviewed which I don't see the point of (too formal as you say) and a dedicated forum seems a bit of overkill?

  7. In the past I've used .NET and the VI mje describes.

    I also using scripting to update a VI pre-build with the info programmatically.

    I generally use the latter approach for tools but it would work in an exe, it's just I have re-use code for the exe.

    I have posted a LabVIEW Project API and a build script on LAVA (sorry no link on mobile too) that you could look at as an example.

  8. I was thinking we could just make a new category in the code repository? That's essentially what we're talking about, after all, it just happens to be a specific implementation instead of reuse code.

    I guess the choice will depend on if you want to track the code and related posts (comments etc...) or just the code.

  9. Sweet.

    I wonder if we could get an "area" on Lava for these so they are all in one place and easy to find :thumbup1:

    I suggest starting a document in the new knowledge base section - it would definitely suit this use case. :)

    You can turn a thread into a document but I would recommend creating a new document that contains links to these posts.

×
×
  • Create New...

Important Information

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