
Exactly what library is this calling? I found it in one of the VI's that comes with LabVIEW.
Posted 23 June 2012 - 05:30 AM

SuperSecretPrivateSpecialStuff=True.
Posted 23 June 2012 - 09:31 AM
Exactly what library is this calling? I found it in one of the VI's that comes with LabVIEW.
Rolf Kalbermatter
CIT Engineering Netherlands
A division of Test & Measurement Solutions
Posted 23 June 2012 - 01:12 PM
Posted 23 June 2012 - 08:43 PM
SuperSecretPrivateSpecialStuff=True.
Posted 24 June 2012 - 08:56 AM
Oh, okay. In case you're wondering, it was in a password-protected VI, so that makes sense. Hmilch's VI Explorer is awesome.
Rolf Kalbermatter
CIT Engineering Netherlands
A division of Test & Measurement Solutions
Posted 25 June 2012 - 12:13 PM
Just let him have his fun. It lets him feel like a leet haxor.Is it? And what did you learn from this awesome look behind the curtains? Yes there is a function you can use to translate an error code into an error string. But the VI that you looked at does that already for you without the need to bother about correct calling convention, parameter type setup and a few other nasty C details. Not sure I see the awesomeness here, other than the desire to feed your own curiosity and find more ways to shoot in your foot.
"Maybe Hoovah is really Crelf's alter-ego, which he uses to irk people?" - Gary Rubin
"Seemingly minor changes....can mean the difference between a working app and a quivering heap of unresponsive code." - David Boyd
Posted 25 June 2012 - 03:14 PM
I'm curious (and maybe this is becoming OT) why VIs such as that which don't have much/any logic on the BD were just exposed as "native" nodes - no block diagram to even try to look at. Is there are a lot of overhead in nodes like that?For the record, the reason that we export functions is so that we can expose VIs that call those functions, so pretty much all of those functions are exposed as VIs already in the palettes. Those that are not exposed as single VIs are part of other VIs. Calling things like MoveBlock directly are particularly dangerous since they arbitrarily overwrite memory.
Posted 26 June 2012 - 06:29 AM
I'm curious (and maybe this is becoming OT) why VIs such as that which don't have much/any logic on the BD were just exposed as "native" nodes - no block diagram to even try to look at. Is there are a lot of overhead in nodes like that?
Rolf Kalbermatter
CIT Engineering Netherlands
A division of Test & Measurement Solutions
Posted 26 June 2012 - 07:24 PM
Is there are a lot of overhead in nodes like that?
Posted 26 June 2012 - 11:25 PM
Posted 27 June 2012 - 07:19 AM
Yes. A new VI takes a few minutes to develop. A new node takes a few days at a bare minimum for the simplest node: type propogation, compiling, marking which inputs are in place to others, adding documentation, potentially marking which versions it's available in, enumerating each of the terminals, potentially adding properties and methods, maybe making it support different types (do you have any idea how many numeric nodes support clusters of numerics?), building the intermediate representation for the compiler, building the compiler code for it, etc. Plus all the time it takes to actually compile LabVIEW. Plus time to check for type-safety bugs (e.g. dereferencing null), save for previous, etc. LabVIEW takes care of all of these things for VIs.
We have a document for creating new primitive functions that is 12 pages long because there are so many different things you need to worry about. Creating nodes (which are more complex than primitives) is much harder.
SuperSecretPrivateSpecialStuff=True.
Posted 27 June 2012 - 07:22 AM
I'm curious about that document. Any chance I (and the rest of the community, of course) can see it?
Rolf Kalbermatter
CIT Engineering Netherlands
A division of Test & Measurement Solutions
Posted 27 June 2012 - 03:33 PM

POPULAR
I'm curious about that document. Any chance I (and the rest of the community, of course) can see it?
I can't speak for NI and don't know that document, but I'm 99.99% sure that it has a big watermark across the front page, stating:
"Company Confidential".
Quite possibly this watermark is repeated on every single page. Besides of that it would be of no significant use to us LabVIEW users, as it refers among other things, to various places in the LabVIEW C++ source code, where specific provisions need to be added for the new node, the internal daily unit test framework run that needs to be enhanced to test the new node, the fact that the documentation department needs to be informed about writing a new help section for this node, and probably a few other things, that leave everyone not working in the LabVIEW team flabbergasted. And that document most likely isn't the most popular bedtime lecture of any LabVIEW development team member either.
In other words, if you want to see this document you will need to apply with NI as LabVIEW developer and hope to be accepted.