Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Darren

  1. The Get VI Dependencies method (which replaced Callees as the preferred way to get a VI's hierarchy info) seems to work inside an EXE for me: -D
  2. Here's a VI that will give you the path to your LabVIEW INI file. Works on all desktop platforms in LabVIEW 8.0 and later. -D LabVIEW Preferences File Path.vi
  3. 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
  4. 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 Version 1.1 of Excel_Quit.vi 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
  5. 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
  6. I can't think of an event-based solution, but there is a pretty straightforward way if you don't mind polling the tree: (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
  7. These are the ones I use...I use shortcuts for functions and VIs as much as I use them for structures: Quick Drop Palette Object Shortcuts for Right-Handed Developers -D
  8. 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
  9. 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
  10. Darren


    Sweet, my feature has a nuthugger. And yes, I had to go look up what a nuthugger is. -D
  11. His looked like this...a 15-segment display, if you will... -D
  12. 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...
  13. 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
  14. 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
  15. Thanks for posting this, JG. I have written a new post on my blog regarding the changes to the CLA exam.
  16. That was pretty funny. Good thing they didn't reserve that one for me... -D
  17. <-- member of LabVIEW R&D
  18. I'm in, and my Durango seats 7. Who's riding shotgun?
  19. Yes. It may be 110 F outside, but they keep it at around 45 F inside. Bring your mittens! -D
  20. Here's the easiest way I can think of: -D
  21. loves "super secrets"

  22. Darren

    Just Plug It In

    It's a programming language...of course it has a pizzle! Who knows, maybe in LabVIEW 2011 the pizzle will have its own 'clean up' feature. -D
  23. 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
  24. To my knowledge, this VI does not ship with LabVIEW. I wrote it myself for this thread back in '08, and it's been sitting in my "VI_Utils" folder on my computer ever since. -D
  25. 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.