Jump to content

Darren

NI
  • Posts

    627
  • Joined

  • Last visited

  • Days Won

    68

Posts posted by Darren

  1. I just did a search...those methods are not used anywhere (including the Property Pages) in LabVIEW 2010.

    I have an educated guess as to their purpose, though. Back when the Property Pages were first added to LabVIEW in version 7.0, there were many properties of VI objects that were not yet exposed in VI Server. As a result, the Get/Set Object methods were added, and hard-coded indices to an internal database of properties were used for getting/setting properties of controls. As the VI Server interface to objects improved, this mechanism was no longer needed, as evidenced by the fact that the Property Pages now (in LabVIEW 2010) rely entirely on VI Server to get/set object properties.

    -D

    • Like 1
  2. Versions 1.0 and 1.0.1 of the Report Generation Toolkit did not include any logic for attempting to keep other windows open. This logic was added in version 1.1:

    Version 1.0.1 of Excel_Quit.vi

    post-4441-031237600 1288889913_thumb.png

    Version 1.1 of Excel_Quit.vi

    post-4441-069544700 1288889912_thumb.png

    According to this webpage, you can use up to version 1.1.2 with LabVIEW 7.1. I'm not sure if it's a free upgrade or not, so you should probably check with your NI salesperson.

    Good luck,

    -D

  3. ...Or implement something like that in response to all possible events that could change what is displayed.

    I've gone down that path before...it's fraught with peril. Example: Grab the scrollbar (mouse down), move your mouse out of the tree bounds (mouse leave), and with your finger still down, drag the scrollbar up and down. All of a sudden, you're not getting events anymore, even though the displayed items are changing. That's why polling is the simplest solution for now...unless you want to implement your own scrollbars.

    -D

  4. I can't think of an event-based solution, but there is a pretty straightforward way if you don't mind polling the tree:

    post-4441-054358600 1287675896_thumb.png

    (If you drag this snippet to your diagram, you'll need to replace the reference control with a Tree reference so it will run)

    This code will give you the tags of all visible items in the tree. If you poll this, and store the tag array in a shift register, you can compare against the previous iteration to see if it changed, and update the visible tags accordingly.

    -D

  5. When processing an array of SubVI references, I always pass each of them through this VI (included in LabVIEW 8.6 and later...prior versions require the VI Analyzer Toolkit to be installed):

    vi.lib\addons\analyzer\_analyzerutils.llb\VIAnUtil Valid SubVI.vi

    This VI will return FALSE if the SubVI reference is an Express VI or a "?" missing subVI. It returns TRUE otherwise.

    -D

    • Like 2
  6. I haven't read this post and the emails too closely, but basically, the guy who develops TortoiseSVN says that PayPal freezed his account due to needing to comply with new regulations. I don't know if LAVA falls under the same category, but it's something to look into.

    I had a similar problem with PayPal many years ago. I haven't used them since (notice how Christina bought my LAVA BBQ ticket this year?). My respect for LAVA would only increase if y'all dumped PayPal.

    http://paypalsucks.com/

    -D

  7. Do we have our first, official, LAVA callout?

    Nobody has ever beaten me, and nobody ever will. Now *that's* a call out... ;)

    -D

    P.S. - I need to have a talk with the judges next year about literal interpretation of the rules, because Robert's answer for the 7-segment display was NOT a 7-segment display. Thankfully he messed it up just a little bit, which gave me enough time to finish my real 7-segment display while he tried to fix his...

    • Like 1
  8. So each question has three rating categories. "Frequency" and "Today's Performance" are self-explanatory, but I have not idea what "Expected Work" is supposed to mean. Is that how much work we expect NI to put into that feature?

    I believe it's asking how much time you're willing to give LabVIEW to perform the action. For example, a frequent editor action, like wiring two terminals, you would expect to be a "trivial" amount of work, i.e. LabVIEW should be able to perform the action immediately. But for something else, like building an EXE, you would probably expect LabVIEW to spend more time, and be ok with that.

    I don't particularly like how that option is worded, but that's my understanding of what it's supposed to mean.

    -D

  9. ...I'm a bit nervous about the requirements tracking bit, not having been exposed to the Requirements Gateway at all.

    As I mention in my blog post, Requirements Gateway is only used for *grading* the exam. You don't need to know Requirements Gateway in order to *take* the exam, you just need to follow the instructions in the exam regarding how to document requirements tracking in the code you write.

    -D

  10. For those who weren't there last year, the challenge I submitted was to write a VI that failed at least 10 of the VI Analyzer style tests...

    That was pretty funny. Good thing they didn't reserve that one for me... ;)

    -D

  11. I find myself creating decendent classes quite often and have wanted to automate the creation of these (using vi scripiting.) Do you have any fancy private VI's that would assist me in doing this?

    There is a private property of the LVClassLibrary class called "ParentClass" that lets you set the parent of a given LV Class. I asked the architect of LV Classes about this property, and he said:

    "The ParentClass property should have been public all along. It is public in LV 2010."

    So I see no reason not to share it. Here's a VI saved in 8.6 that contains the applicable property nodes.

    -D

    ParentClass Property.vi

  12. I've seen a couple of these VI's which return the class hierarchy floating around but in all cases they are locked. Where is this VI coming from? Does anyone know what it is actually doing? I really can't use a VI that is locked unless it comes with LabVIEW or is released by NI in some form.

    The VI uses a private VI Server method that can read linkage information from the .lvclass file on disk. As a general rule, we (that is, LabVIEW R&D) password-protect any VIs that contain private functionality when we post them on public forums.

    -D

×
×
  • Create New...

Important Information

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