Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,217
  • Joined

  • Last visited

  • Days Won

    120

Posts posted by Michael Aivaliotis

  1. Response back from NI support:

    You are correct about the difference between LV 8.0 and 8.2 behavior with

    the "fit control to pane" function. However, I do not think this is a

    "bug," but is known behavior. If you would like to report this to R&D to

    be changed in future versions, I would recommend submitting a request to

    the Product Suggestion Center

    (http://digital.ni.com/public.nsf/allkb/EDA...6256FF0000238D5).

    R&D pays close attention to suggestions made when they are developing new

    versions of software.

    So, my request from the LAVA community: If you care to change this back to the 8.0 behavior then send a feature request to the indicated link. The best solution in my opinion is to be able to select between both behaviours.

  2. This worked in LV 8.0 but does not work in LV8.2.

    If you right-click on a control and select "fit control to pane" then you resize the panel, the control doesn't resize in real-time with the panel scaling. It only resizes after you have finished resizing the Panel. The proper behavior is to have the control resize dynamically as you resize the VI front panel.

    This has been submitted to NI support.

    post-2-1168853890.png?width=400

  3. I need the event that happens when:

    The XControl is executed (eg. the containing VI is running), but I'm not sure the "Exec State Change" when a VI is loaded into memory and runs directly.

    I only know one event that covers this:

    "TimeOut", so.... I use this:

    post-2399-1168500432.png?width=400

    Have you tried this? Does it work? The reason why I'm asking is because in order for you to use the references from within the Property nodes, you have to set State Changed boolean to TRUE every time you update the references from within the Timeout case.
  4. I ran it on my machine and it works great! Excellent work. :thumbup: Yet again, another case study in the argument for opening up VI scripting to the masses.

    ...Which is slightly modified, the state.ctl has an array of control references! and the time-out of the facade vi will load the references into the control!
    Can you explain how this would work a little bit more? I didn't see this implemented anywhere in your template. Is this a manual edit step in the process?

    In general, you shouldn't do real work in the timeout case but perhaps this is the only way.

  5. I'd like to post an update to this thread. Yes, there is indeed a way to create so called "pull-right" properties for XControls.

    Someone from NI informed me of a way that is not officially supported by them but none-the-less works.

    All you need to do is change the localized long name of the property to include the nesting. For Example: If you have a property called My New Nested Property 1 and you want the menu to appear like Mike->My New Nested Property 1, set the Localized Long Name to Mike:My New Nested Property 1. Colon is used as the separator.

    post-2-1168333561.png?width=400

    post-2-1168333624.png?width=400

    Further experimenting reveals you can also create line seperators by replacing the name completely with a hyphen "-". Of course, this means you lose access to the property since now it's not selectable. You would probably create dummy properties to support this.

  6. I wish XControls behaved more like a control than "fancy transparent subpanels with a single terminal input/output" :thumbdown:
    Well, I'm not too upset with the current implementation. What I find a little annoying is to make all those Method and property VI's. Then you need to do more work in the Facade. What I would like to see instead is just let us register the methods and properties RIGHT INSIDE the Facade event structure. Then we can do the work in one place. This could potentially be done along the same lines as dynamic event registration. An additional side benefit would be that you now will know exactly what property fired and when.
  7. I understand that the Display State control of an XControl can be used to store the current internal state of the XControl. One thing I don't like however is that every time you update this data from within the Facade and set the State Changed? value to TRUE, it triggers the caller VI using the XControl to show an asterix in the Titlebar which indicates that the VI has changed. I understand why this is happening, however it's not desirable if you're just keeping some temporary internal values in the XControl which only last for the current lifetime and you don't care about saving them.

    One alternative I guess would be to use an un-initialized shift register on the Facade VI to keep these variables and not use the Display State data. One limitation with this method is that the data would only be accessible from the Facade and not from the Methods and Properties. Another possibility would be to create a LabVIEW Class for the XControl. I want to avoid that since I don't want to open another can of worms. I'm already having enough trouble trying to get my XControl implemented in the first place.

×
×
  • Create New...

Important Information

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