Jump to content

Darren

NI
  • Content Count

    548
  • Joined

  • Last visited

  • Days Won

    43

Darren last won the day on September 14

Darren had the most liked content!

Community Reputation

182

About Darren

  • Rank
    The 500 club
  • Birthday 10/02/1977

Profile Information

  • Gender
    Male
  • Location
    Austin, TX

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2018
  • Since
    1999

Recent Profile Visitors

2,791 profile views
  1. I'll be there, presenting a regular session and a 7x7.
  2. I've written tools before that involved scripting probes onto wires. The way I facilitated communication between the executing probe and the scripting framework was through a named queue. I could pass the name of the probe VI (which ends up being the name shown in the first column of the Probe Watch Window) to my scripting framework. Meanwhile, my scripting framework had used the "AttachProbe" method of the Wire class to create the probe. This method returns a Probe reference, which you can then use with a property node to read the "ProbeVI" property, which gives you a VI reference, and you can read the VI Name property to match up which Probe VI got attached to which wire. Note that the "ProbeVI" property is private, so you'll have to do some digging on how to enable private properties/methods if you haven't already.
  3. You may want to consider using a Data Agnostic Smart Probe instead of a subVI. From that probe, you can get a reference to the calling VI. And I think there are ways to figure out which probes are on which wires, etc. Here's my nugget post on Data Agnostic Smart Probes: https://forums.ni.com/t5/LabVIEW/Darren-s-Occasional-Nugget-02-23-2018/m-p/3759109
  4. The official VIs are different implementations. I imagine they're faster, since their implementation is simpler (they just wrap Spreadsheet String to Array and Array to Spreadsheet String). Also the new VIs have the standard connector pane and official icons. You shouldn't have any issue continuing to use the hidden gems if you prefer those.
  5. No problem, I just want to make sure people know the difference between "Darren the G programmer says _____" and "Darren the NI employee says _____". In my "Don't Wait for LabVIEW R&D... Implement Your Own LabVIEW Features!" presentation, after I clarify that I'm presenting my personal opinion and not an official NI position, I contraindicate XControls because of numerous stability issues I've seen with them in large applications over the years. You can see my slides and watch a recording of the presentation here: http://bit.ly/dnattlvhooks
  6. Side note: I tried to look at the code, but I couldn't manage to get the snippets dragged into a LV 2019 diagram. Is there something special I have to do to download the .pngs so that they have the LV meta data necessary to make the snippet be droppable code?
  7. Variant attributes were optimized quite a bit over the years. For string-based keys, they are very efficient, especially if you don't need to cast to/from variant for the values.
  8. You don't need to type cast to string when using maps. Change the keys in your Map code to be U64s instead of strings and let's see the benchmarks. Type casting is expensive. One of the benefits of using the map data type is that you no longer are forced to use strings as your keys.
  9. One of those employees is me, but I am always clear when I discuss this topic that my recommendation against XControls is my personal opinion and is not an official NI position.
  10. I read it the opposite way, he has c:\a\b\c and just needs c:\a or c:\a\b. In those cases, you would use Strip Path.
  11. Seems like the checkboxes aren't even necessary if you're only picking one class to inherit from. Just pick a row in the tree and click Next.
  12. I've added that property to a list I'm maintaining of private properties/methods/events to move to public/scripting in a future LabVIEW release.
  13. I don't think there's a way to do it. You'll need to make your own browse button.
×
×
  • Create New...

Important Information

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