02-08-2006 01:59 AM
Darren, I like that!
I do have some questions, though.
What do the NEVER, boolU16, Extdata, Variant, Handle, Substring and Subarray mean? When (if ever) will we get a C or Pascal string as a result?
02-08-2006 04:10 AM
02-08-2006 07:57 AM
All these ideas and VIs sound really useful, but they still seem to be a work-around for an inadequacy in the development environment.
It still seems that solution is for NI to provide a menu item (e.g. under edit) that just turns modifies the visible attribute for all controls (and indicators) in a project.
02-08-2006 08:06 AM
Darren wrote;
"...you can wire a control reference into vi.lib\utility\GetType.llb\Get Type of Control.vi, and it returns an enum describing the datatype of the control. "
I have to agree with tst that this is an excellent piece of information.
I had previously known about the type descriptor and parsing it to pull out info like the strings associated with an enum. I had concidered writing code to parse all the variations of the type descriptor but two issue stoped me.
1) Parsing types within types like arrays in clusters or clusters of clusters etc.
2) The danger that all of my work would go to waste if NI added new data type (like in LV8) and had to modifiy the type decriptor to support the new data type..
Finding out about this utility and specifically "Get Type Code from I16 Array.vi" solves these issues!
Thank you Darren!
Ben
02-08-2006 08:33 AM
Darren wrote (in that oher thread)
"
If you're using LabVIEW 7.0 or later, you can wire any control reference into this VI:
02-08-2006 08:43 AM
02-08-2006 09:01 AM
Thank you jspaarg.
Ben
02-08-2006 09:08 AM - edited 02-08-2006 09:08 AM
One of the biggest advantages in project-based environments is the ability to maintain different versions of the same file in the different project folder and have the environement recognize that they are different files. With LabView's "memory model", I have lost much work because it overwrites files in memory with the old versions. Yes it gives popup warnings, but they don't really indicate the consequences. My understanding with 8 is that you can load multiple copies of the same-named VI into memory.
Message Edited by cs42 on 02-08-2006 04:09 PM
02-08-2006 10:01 AM
@jspaarg wrote:
I don't have any experience with other project-based environments, but some of these may be already available in LV. Perhaps you can explain more and we can tell you.
The ability to link in pre-built libraries,
I'm not sure what you mean by this, but here are 2 guesses: in LV you can use the "VI Server" to call VIs dynamically so you don't need to have the libraries when you build the application. You can also place your own VIs in the palettes, e.g. by placing them in the user.lib folder.
The ability to run post-processing programs on built systems.
Again, I'm not sure what this means, but dynamically loaded VIs may be the solution here as well.
The ability to run simulations and inject signals.
LV is well known for its ability to simulate data and for allowing you to test your code very easily. The fact that each function can be run directly allows you (mostly) to test your code from the bottom up.
Well-integrated help (I find LabView's help to be very middle of the road in terms of ease of use)
I know that the LV help system is not always clear, but I find it to be mostly very good. I like the fact that you get the context help (ctrl+h) which allows you to see more details about what you're looking at without opening a new window and I like the fact that it's context-sensitive (right click something and you get help specific to it). do you have any concrete suggestions?
@cs42 wrote:Why didn't they include path information?
I have several guesses:
02-08-2006 10:20 AM - edited 02-08-2006 10:20 AM
Message Edited by Darren on 02-08-2006 10:21 AM