Jump to content

mgunning

Members
  • Posts

    19
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by mgunning

  1. I've just upgraded from LV 2012 to LV 2014 and have come across a similar weird drawing issue with the toolbar and menu bar.

     

    I have a VI where the toolbar and scroll bars are set to invisible, FP window non-resizable.

    When I run the VI, there is a white strip around the VI where the toolbar and scroll bars would be if they were set to be visible.

     

    If I set the window to be resizable, I get a double menu bar, only one of which is operable.

     

    (Tried to post pictures of these but LAVA didn't want to accept them).

     

    I've managed to fix the problem. In VI Properties >> Windows Run-time Position, I had a custom window position and panel size set.

    If I turn of the custom panel sizing by ticking the Use Current Panel Size box, the problem goes away.

     

  2. Well, to find the child branches of "Jane", you can use the "Navigate Tree" method.

    "Navigate Tree" >> "Get Child" will find the first child.

    "Navigate Tree" >> "Get next item" will find the next child at the same level of the hierarchy. It will return an empty string if there are no more items at that level, so just keep searching until you come up with an empty string and you will have found all the branches under "Jane".

    You can then use the "Open/Close" >> "Ensure Visible" method to open all these branches.

     

    If you want to open the entire hierarchy underneath "Jane" right down to the very last twig, you will have to search through each branch to find the final value of each branch, and use "Open/Close" >> "Ensure Visible" to open all those values.

  3. As MJE said, I don't think you can hide branches without rebuilding the tree.

    But you can close all the branches that don't contain the search query, and only open the branch that does, if that would be sufficient.
    Use the "Open/Close" >> "All" method to close all branches, followed by the "Open/Close" >> "Ensure Visible" method to open only the branch
    that contains a particular tag.
     

    • Like 1
  4. Interesting thread, I was pondering over the same issues a few weeks ago. What I ended up doing was pretty much the same as bmoyer i.e. have the application copy the ini file over to a folder in the "C:ProgramData" folder.

    I didn't know about the 'unlock' switch in the installer, so to get around the user access issues I was using the "icacls" command to set the user permissions. When the ini file is first created under ProgramData, I feed the command "cmd /c icacls "<path to ini file>" /grant BUILTINUsers:(F) /t" to "system exec.vi". This assigns all users full access to the ini file.

    This works fine as far as I can tell, but I'm a bit nervous about using commands I don't really understand, so I might switch to the 'unlock' folder method instead when the issue with LV2012 is fixed.

  5. I've used XControls a little bit, and every time I think I understand XControls I come across some unexpected behaviour that throws my understanding into doubt.

    In your example, the "Data Change" event in the facade VI doesn't fire when the sub VI is not visible, but does fire when the the sub VI is visible. Not sure if this is expected or not.

    Everything works OK if you use the "Value (signalling)" property to update the XControl, rather than the "Control value set" method.

    XControl UI Update Updated.zip

  6. Other features of Total Commander that I like are that there are keyboard shortcuts for pretty much everything, and there is a portable version available. Once you've purchased it, you can install it on a USB stick and use it anywhere. You'll never have to use Windows Explorer again.

    Zipping and unzippping is built in, so no need for Winzip anymore.

  7. For writing XML files I wrote my own simple Flatten-to-XML VI, which works in a similar way to the OpenG Variant Config File tools. In fact, that is where I got the idea from.

    It involves converting a cluster of strings (or cluster of cluster of strings, or array of cluster of strings) to a variant, which is fed to the VI, which then converts it to an XML string. It automatically converts the string names to the XML Tag names, and the string values to the XML element values.

    Cheers,

    Mark.

  8. Once you have created your single element queue:

    To write to the queue all you need to do is dequeue, and then enqueue the new element (no point to enqueue at the opposite end since the queue can only have one element).

    To read from the queue, dequeue and then enqueue the same element.

    Make sure the timeout on all the dequeues is set to -1. Then if the queue is empty (because something else has temporarily emptied it), the dequeue will wait until an element has been put back in the queue.

    Of course, you have to make sure that the queue doesn't become permanently empty, since then all the dequeues will hang when trying to read an empty queue.

    Mark.

×
×
  • Create New...

Important Information

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