Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by Darren

  1. 9 hours ago, thols said:

    Thanks Darren, I didn't know that. Maybe because that is also not in the help.

    I updated the Bug report to mention that this should be in the help. Also, I talk a lot about use cases for the Error Ring (including mentioning several of the points I brought up in this post) in my What To Expect When You're Expecting an Error presentation here: http://bit.ly/dnatterrors

    • Thanks 2
  2. I have reported the documentation issues (both the 'page not found' error, and the suggestion about placing error rings in case structures) to R&D as Bug 1413653.

    12 hours ago, thols said:

    Error rings are so large I am tempted to put them in a sub-VI just for that reason.

    Don't forget you can deselect Visible Items > Error Explanation Text if you need your Error Rings to be more compact:


    • Thanks 2
  3. During code reviews I always tell people to remove 'No Error' error rings and replace them with error cluster constants. As for non-0 Error Rings, they should always be in a case structure that only executes in the situation where you need that Error Ring value.

  4. On 2/27/2021 at 12:37 AM, Jim Kring said:

    If you have a VI reference at run-time, can you tell whether it is a static VI reference (via Static VI Reference node) or a dynamic VI reference (opened with the Open VI Reference) function, since the VI lifetimes (and lifetimes of references created within them) are managed differently by LabVIEW.

    I checked with LabVIEW R&D, they said there is no way to determine this information in G code.

    • Like 1
    • Thanks 1
  5. (I'm not at a machine with LabVIEW at the moment, so I apologize if I'm not remembering some of this correctly)

    I see that the static VI reference in your screenshot does not have the little orange star in the corner, which means it's not a strict reference. If you were to wire that reference into a Call By Reference function, you wouldn't see a connector pane pattern. So as your diagram is currently implemented, the types of those wires are identical since the static VI reference wire doesn't contain any type info. Isn't that right? Can you right-click the static VI reference and select something like "Include Data Type"?

  6. 2 hours ago, drjdpowell said:

    It's the inconsistent state that is the problem, where the by-value bit is inconsistent after the by-ref bit is changed in parallel.   That doesn't always happen; sometimes either the value or the reference bit never changes.   But one needs to be aware of this issue.

    Dr. Powell pretty much gave my answer (stated more eloquently :) ). It's something to look out for when branching wires... by-value data is now a copy, while by-reference still refers to the same thing. Be aware of that when you start mixing by-value and by-reference inside class member data.

    • Thanks 1
  7. 2 hours ago, Aristos Queue said:

    But some places have coding conventions that require no spaces in the name -- it's easier to use git with such files.

    Probably best for a new thread, but I'm curious about why you claim it's easier to use git with files with no spaces. In my (admittedly non-advanced) dealings with git I haven't seen any problems with files with spaces. Now repo names with spaces? Yes, that has caused issues. :) But I've been working with very large codebases in git containing VIs and project libraries/classes with normal naming conventions (including spaces) and have had no issues.

  8. 34 minutes ago, Neil Pate said:

    I am trying to use your HMAC - SHA256 to generate a token to allow me access to an Azure Iot hub. I have a snippet of c# code that works fine and I am trying to translate into LabVIEW but not having much luck.

    I remember having to figure this out when generating tokens for the LabVIEW Cloud Toolkit for Azure. I remember that there was some weird stuff I had to figure out, but I've long since forgotten how I did it. On the bright side, the toolkit is open source, you can browse through the source code here to see how I did it.

    • Like 2
  9. Yup, Quick Drop itself (along with several other G-based LabVIEW features) uses Global Data Get/Set. Standard disclaimers apply (private methods are not documented or supported by NI), but these should get you what you need. I agree with Yair that you need to make sure to namespace your data appropriately so it doesn't potentially collide with other Global Data.

    • Like 1
  10. 20 minutes ago, drjdpowell said:

    It is annoying that there is no obvious go-to UI for Git.

    I've noticed that too. I think it's because, for whatever reason, different UIs resonate with different people more than others. Of the several I've tried, Fork is the one I prefer. I can say that in the couple of months I've used Fork the UI has made my (admittedly simple) workflows straightforward, to the point that I've never encountered the detached HEAD issue, or any other major issues for that matter. And the authors of Fork provide incredibly responsive tech support as well.

  11. 49 minutes ago, X___ said:

    It is a different product. It's like if a car company messed up some component and said: sorry, we fixed it the new model. But, hey no ill intent here, just a business model.

    Excellent point. I will propose to NI upper management that we take every single bug fix in the latest LabVIEW version and patch that same fix into every previous LabVIEW version we've ever released. I'll let you know how the proposal goes.

  12. 9 hours ago, X___ said:

    It's like moving the Expression Node back in some subpalette of the Mathematics functions that is not existing in the Base LabVIEW version (https://forums.ni.com/t5/LabVIEW/Expression-Node/td-p/3974820).

    Completely uncalled for, but, hey, AQ doesn't think that text-based mathematics should even be allowed in LV, so what do we know?

    No need to assign ill intent. We screwed that up, and we fixed it in LabVIEW 2020.

  13. On 5/21/2020 at 9:16 PM, bjustice said:

    I'm trying to beat Darren for fastest programmer in the world, so muscle memory plays alot into things like right click menus and quickdrop names

    Aspiring to be the World's 2nd Fastest LabVIEW Programmer is indeed a noble goal.

    One of the things that makes me fast is the fact that I know exactly what the first three menu options will be, 100% of the time, whenever I right-click on any data type (terminal or wire) on a diagram. 👍

  • Create New...

Important Information

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