Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/15/2016 in all areas

  1. LAVA has won an NI award for LUGnuts at NI Week, the largest independent online user group. Thank you everyone for making the online community something to be proud of.
    1 point
  2. I don't know if the concatenating tunnel is more efficient. I thought it was just syntactic sugar. Anyway. You could back-save to 2011 and avoid everyone else from asking for it in an older version . You don't have to develop in the old version. The caveat would be if you wanted to use native primitives (like the parser in 2013).
    1 point
  3. Never do #1. Not because in this specific case its not fine (although its not) but simply because its a bad habit. Its an incorrect form because if an error occurs on the AVI open (or on error in, or if the avi is empty) then N becomes 0. If N is 0, the for loop doesn't run. If the for loop doesn't run, the output avi refnum and output image refnum are both invalid, and thus you have a memory leak (unless this behavior has changed in the last few years). To summarize: Error in->N=0 but no refnums are created->OK Error on open ->Same->OK Empty avi file->N=0 but both refnums created->Memory leak. ...which is why I say its awful hard to think about this every time so I just don't ever follow that pattern. I personally usually go for 3 unless I'm doing something dynamic (VI server call, dynamic dispatch) where it isn't clear what could happen inside the loop. In this case the safer bet is a shift register. Always using a shift register also eliminates the risk involved in the for loop not running, but introduces the risk that you could accidentally invalidate the refnum yourself at some point (case structure, default value if unwired for example). The error on the shift register depends specifically on what I'm doing. Like one commenter in the other thread mentioned I like to put a case structure in and never run the for loop if an error is coming in. I then like to either (a) immediately stop on any error, as you might do if you are processing frames in a video or (b) create an output array of all the errors which occurred, which you might do if you were batching some set of actions. I don't believe there is ever a good 'pattern' to follow for error handling because it always requires some level of thought. Fun fact: did you know that imaq dispose image doesn't run if an error occurs upstream (at least according to the help)? And when I say fun, I mean I hate imaq so so much .
    1 point
  4. "Resolved to customers satisfaction" it is then. FWIW. Escalation can be very quick or many days. It's only the time-zone differences that make the delay if (and this is a big if) the application engineer knows who to contact and can articulate your concern. This is why examples are so important. Once you have found a well connected application engineer that you can ask for by name to get past the front door bouncers - 24 hours max for a useful response.. As en ex European. - a telephone call with a follow up email (with example and bulleted list of questions) at 4pm and you will usually have the result sitting in your inbox in the morning . That named engineer is now your dive buddy (as much as they might resist ) in the murky waters of NI support procedure. Hold on to them as if your life depended on them because your sanity does
    1 point
×
×
  • Create New...

Important Information

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