-
Posts
622 -
Joined
-
Last visited
-
Days Won
66
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Darren
-
-
40 minutes ago, JKSH said:
does anyone know whether the new official VIs are just wrappers for the Hidden Gems VIs? Is it OK to keep using the Hidden Gems VIs going forward?
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.
- 1
-
Just now, Daklu said:
My apologies if I misrepresented what you said. Can you elaborate on why you recommend against using XControls?
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
- 2
-
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?
-
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.
-
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.
-
On 5/29/2019 at 10:55 PM, Daklu said:
I am under the impression XControls have more or less been relegated to the rusty nails bin. I know I've seen NI employees recommend against using them in presentations.
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.
-
5 hours ago, LogMAN said:
If I understand you correctly, there is a path like "C:\a\b\c" and you need the "\b\c" in order to use it as "D:\default\b\c", right?
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.
-
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.
-
This works, but it uses a private property.
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.
- 1
-
I don't think there's a way to do it. You'll need to make your own browse button.
-
3 hours ago, Neil Pate said:
@Darrenhave you got any of the "speedup" keys in your LabVIEW.ini set?
No.
-
24 minutes ago, flarn2006 said:
Taco deli? 😉
I prefer Torchy's.
- 1
-
2 hours ago, flarn2006 said:
However, strangely, I haven't found any methods/properties that do anything specific to build specifications. Maybe I'm looking in the wrong place though.
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
-
2 hours ago, LogMAN said:
By significantly faster do you mean "fluently" or "stuttering, but not as much as before"?
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.
- 1
-
2 hours ago, LogMAN said:
Send them this VI for reference: https://forums.ni.com/t5/LabVIEW/Very-complicated-labview-block-diagram/td-p/3187507
(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.
-
19 hours ago, flarn2006 said:
Does this mean its deprecated status will be removed?
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.
-
On 1/14/2019 at 8:45 AM, hooovahh said:
So does that mean that this deprecated function is still semi-supported? I assume it was deprecated for a reason, is it unstable under any known circumstance?
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.
-
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. (?)
- 1
-
- Popular Post
- Popular Post
You can also use Quick Drop Replace to replace multiple items at once.
Select all the controls you want to replace > Ctrl-Space > Type name of new item > Ctrl-P to replace them all.
- 2
- 1
-
I had no idea this existed. I will look into it.
- 1
- 1
-
Correct. Scripting does not support setting dotted properties.
-
+1 for installing shared dependencies in vi.lib with VIPM packages. Makes this sort of thing much easier to manage than having each project have their own copy of the reuse code.
-
3 hours ago, hooovahh said:
There are private events on the tree for Item Close? and Item Open? which is a filtering event and allows you to discard the open and close. You need the super special private special stuff INI to access these. Then I'd recommend turning that INI off after.
From what I can tell, the Item Close(?) and Item Open(?) events are not private. Maybe they were in a previous LabVIEW release?
-
1 hour ago, Tom O said:
For Darren, if you try to wire from the constructor, you cannot find the terminals. It is only if you create another object and try to wire it to the constructor that you can connect to the terminals (or if you try to wire one of the other terminals on the constructor to the hidden ones). Also, their vertical location is in the center of the constructor, so if you are trying to connect to the top, it will appear that they don't exist.
Ah, there's the piece I was missing. Thanks for those details.
I have filed CAR 711518 on this issue. I agree that it is a significant usability concern that it is so easy to wire to that null reference terminal, have code that doesn't function correctly, and not have an indication as to why.
- 1
Get external Refnums from inside a SubVI
in VI Scripting
Posted
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