Jump to content

Darren

NI
  • Content Count

    552
  • Joined

  • Last visited

  • Days Won

    44

Everything posted by Darren

  1. Right, VI Analyzer Toolkit 2016 was the first version to officially support 64-bit LabVIEW. For unofficial support in previous versions, we have this resource: https://forums.ni.com/t5/VI-Analyzer-Enthusiasts/Using-the-VI-Analyzer-Toolkit-with-64-bit-LabVIEW/ta-p/3494395
  2. Yes, it's a LabVIEW Toolkit, which means you have to install it separately for each LabVIEW you have. Here's the download page where you can get whichever version (and bitness) toolkit installer(s) you need: https://www.ni.com/en-us/support/downloads/software-products/download.labview-vi-analyzer-toolkit.html
  3. The VI Analyzer has core components installed with LabVIEW, like the UI you're seeing. The VI Analyzer Toolkit is a separate install with 90+ tests, including the Complexity Metrics tests. So you need to install the VI Analyzer Toolkit to see the tests.
  4. I'll be there, presenting a regular session and a 7x7.
  5. 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.
  6. 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
  7. 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.
  8. 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
  9. 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?
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. I don't think there's a way to do it. You'll need to make your own browse button.
  17. Yeah, I'm not aware of any. The App Builder API (vi.lib\AppBuilder\AB_API) provides most of the functionality you would need to programmatically modify build specs. I talk about it briefly in my Hidden Gems presentation: http://www.ni.com/hiddengems
  18. Here's a GIF comparing the selection drag + scroll speed on the same large VI in 2018 and the latest 2019 build, both on my dev machine.
  19. (standard disclaimer, unreleased software, not an official benchmark, etc. etc.) I just tested dragging selection boxes on that diagram in LabVIEW 2018 and in the latest LabVIEW 2019 build. Selection rectangles draw significantly faster in 2019. Window scrolling while dragging a selection box is also much faster. For reference, my dev machine is Win7-64, 16 GB RAM, E5-1650 3.5GHz.
  20. Not in 2019. But we will look into consolidating the API in 2020 so the non-deprecated method is able to set dotted properties like the deprecated property can.
  21. If I recall correctly, it was deprecated because the current property is more explicit about how you're assigning the property name (ID, short name, long name), whereas the deprecated property was more ambiguous (you could wire in any of them I think). But to my knowledge, there's no problem using the deprecated property. When I update the VI Server Rename plugin, I'll make sure to only call the deprecated property if there's a period in the specified property name.
  22. Thanks for digging this up, Paul. I got it to work for dotted properties of multiple levels (so not only Label.Text, but also things like Terminal.Wire.Terms[]). I'm going to try to update the VI Server Rename plugin for Quick Drop to allow setting dotted properties by using this deprecated property. (?)
×
×
  • Create New...

Important Information

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