Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    104

Posts posted by Michael Aivaliotis

  1. No problems for me.

    I did the following:

    1. Create new XControl
    2. Placed a numeric control on the facade from: Controls>Classic>Simple Numeric
    3. Rightclick on the numeric and selected: Fit Control to Pane.
    4. Saved the XControl
    5. Plopped it on a blank VI panel.
    6. That's it.

    post-2-1169184911.png?width=400

  2. One other option (haven't checked) but I think the project explorer would be the answer.

    Ton

    When you're knee-deep in coding\debugging, and the VI is staring you in the face, the easiest thing is to double-click the VI. That's how I work.

    A side note: It seems like NI is putting in more and more hinderances with every new LV release to "force" people to use the Project Explorer more. Maybe I'm wrong but i can give a list of changes that are making me frustrated.

  3. Well it's not the use people here are interested ;-). It's how you made them! As far as I know there are only two possibilies:

    - You got a license from NI somehow (and have signed an NDA or someone has on your behalf) and then posting this here could get you in trouble.

    - You hacked LabVIEW to not do a license check anymore or something like that and then you are also in trouble in at least certain countries on this globe who think that even thinking about circumventing anti-copy protection is a major crime.

    Rolf Kalbermatter

    I would take it easy on the condemnation. A lot of this stuff is not super protected. It just requires some one with a little sense of curiosity and the ability to use Windows file explorer. You know, it's really ok to browse inside your C:\Program Files\National Instruments\LabVIEW 8.2\resource folder... ;)

    Keep up the good work Aitor!

  4. When you open a reentrant subVI from the block diagram (double-click), LabVIEW opens a clone of the VI instead of the source VI. The title bar of the VI contains (clone) to indicate that it is a clone of the source VI. Does anyone know of a shortcut way to open the reentrant original (not the clone)? Currently it's a pain in the rear! I have to double-click the subVI which opens the clone, then I have to hit ctrl+M to go into edit mode. LabVIEW then opens the reentrant original (in addition to leaving the clone open) then I have to perform a slight of hand and somehow click on the X of the clone VI panel so I can close it then switch back to the reentrant original for editing.

    It's obvious that no-one at NI went through this scenario too often because if they did, they would realize what a pain it is and would have probably come up with a shortcut already.

  5. I need a way to get the current mouse cursor type. Is there any way to do this in LabVIEW? I need this because I want to know when a user's mouse is hovering over the divider between two columns of a multicolumn listbox. I figure that if there was a way to detect the cursor change then this would be a good indicator.

  6. 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.

  7. 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

  8. 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.
  9. 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.

  10. 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.

  11. 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.
  12. 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.