At this moment when I create constant on Which Event Input (Get Last Event Method):
it looks like that:
and every time I should go to help to check which number is responsible for Click, which for Draw, etc... (Usually I using Ring constant obtained from IMAQ WindLastEvent).
Compare it with IMAQ WindLastEvent function:
Do the same in Get Last Event Method. Please replace meaningless array of I32 with array of Ring Constants:
Please add labels to the "picture items" selection in the control editor for customizing button controls. This would help the developer know which button state is selected for a picture import. Labes could be as simple as "T, F, T->F, F->T ...."
Adding or allocating a secondary axis in Excel chart/graph using Report Generation is a good to have feature. We can however use Macros to do this, but if we have a VI in Report Generation that would be great.
It would be nice when Folder Auto-populating will populate VIs to LV Class (.lvclass) and to LV library (.lvlib).
When we use Folder Auto-populating in projects then project hierarchy match disk hierarchy. It would be great when class and lvlibrary hierarchy match too.
It seems to me that I should be able to expand an array constant and manipulate the elements with drag'n'drop and ctrl/alt/shift key. For example if I want to move the 3rd element to the 14th, currrently it is a series of insert/copy/paste/delete moves with the mouse. I should be able to select the 3rd element and drop it on either the current element at the 14th position, causing it to be replaced, or on the divide between the current 13th and 14th and have it inserted. The array would "heal" by deleting the 3rd element when the drop is finished (or if I have held down the shift|alt|ctrl key it just copies the element and does not delete it). I should also be able to drag a constant off the block diagram and drop it into an array at any point and have it become part of that array (either replacing a current element if it is dropped on one, or if dropped between two elements the "lower" elements are pushed down one). I should be able to drag an element out of an array and have it be a constant that I can set down on the block diagram (yes, I know I can use ctrl-C and crtl-V to copy an element out of an array.) When I select an element to drag out of an array I should be able to choose whether to copy the element or remove it from the array (without it destroying the array.)
Already we can drag'n'drop into (creates/recreates) and out of (empties) an array, it just needs to be a little more intelligent.
Currently the 'array build' gives you only the option to merge by rows. If you want to merge by column you first need to transpose the two (or more) input arrays then merge them and then transpose the array again. See VI example attachted. I think this should be changed because it gives a overhead on transpose VI's on your diagram. Therefore I suggest that the 'array build' block gets a option where you can select to merge on columns or rows when a 2D array is used as input.
Current versions of Developer suite do not include Autmotive Diagnostic Command Set
in the DVD's for installation onto a host PC, the toolkit has to be downloaded separately which can be difficult to find as it is not referenced on the support pages, for those interested the 1.1.1 release is here:
My thought is that this should become more integrated into the release DVD's as it is a Labview add-on and should be treated the same as all the others.
Most modern applications have a status bar at the bottom of the window for quickly finding relevant information. I'd like to see an edit time status bar on vi windows showing (and possibly setting) relevant information about the vi's properties. I'm most interested in the properties in the Execution category as there isn't a good way to check that information without opening the properties dialog box.
I might have missed this or it might already be implemented in 2012 as I haven't started using it yet, but wouldn't it be great if you could limit time stamps to a single line? Similar to the option we have for text controls on the right click menu, I suggest you implement it for those bulky time stamp controls/indicators. Please see below:
Looks pretty right!
A function present in File I/O - "List folder" returns FileNames and Folder Names. But while dealing with "Large Data" set it would badly affect the speed and Memory consumption. ........ (This is faced in one of application )
User interest would be 1) Only FileNames Or 2) Only Folder Names 3) Both FileNames and Folder Names
Can we provide this with Option of selection in "Enum Control" with default as 3)
Retain wire values is a key feature used in debugging.When analysing or debugging complex code, sometimes it becomes important to retain values in all VIs and Sub Vis which are in execution.
The necessity is more important when dealing with specific Hardware or Software events which are rare and requires special efforts to regenrate.
At that time if any Sub Vi is missed out to retain wire values, it may not give complete picture and will require cautious, duplication of efforts to reproduce the same scenario.
The above feature may be high on memory when used, but can be of good value for users.
Optional settings at Vi heirarchy to pick and choose subvis can reduce the memory overhead.
I just got "bitten" by the -808 Timing Loop error, namely one loop refusing to run because there is another loop with the same (random-looking) name, L364350956. What confused me was that an earlier version of the code, with the same timing loop, worked just fine! However, I subsequently added several VIs, one of which included another Timing Loop, which was also given the name given the name L364350956.
I'd like to suggest that names such as this that can be "randomly assigned" be generated more "randomly", for example, as L<# seconds since midnight>. This scheme would make it vanishingly-unlikely that the same name would be generated twice (eliminating the -808 error, unless the user deliberately chose the same name), and would be particularly useful for structures such as the Timed Loop where the name is generally not visible, and has little meaning to the user (except, as in my case, when it causes an error).
In most of the applications we need to first create a queue and the enqueue the first element, which is currently a two step process. Just like create if not found? if there would have been an additional terminal which can enqueue the element to the queue, the two step process can be cominbed into a single step.
There should be a LabVIEW primitive that returns the size of the connected data type in bytes, similar to sizeof() in C.
I know this can be done using "Flatten To String" and "String Length", but that's only a workaround since this way all the data has to be copied just to get the size information.
Sometimes debugging re-entrant VIs is painful. Its possible but slightly messy. It would be great atleast if a probe is offered that shows the control and indicator values when the VI is hovered over while it is being used as a subVI in another VI. Please see the picture below to understand what I am trying to say. I think it will help in quick probing of the values together.
Currently we can set Conditional Disable Symbols (CDS) for a whole project or for a target.
I wish we were able to set them inside a build spec, too.
This would mean, I could have a large application in one project and build different flavours of it's executable simply by using the appropriate build specs.
Use cases might include simple things like debug / release builds (similar to this idea), but also more complex differences like a software that uses real hardware and a special version that works without hardware, which can be used in the office.
Currently I need to either set the CDSs manually each time I build an executable or maintain several copies of the same project file. Both methods are tedious and error-prone.
When you edit a VI, you may likely move the origin of the pane and not know it. Next time you run it, your controls are not centered. There are several ways to work around this:
How about an option which sets the panel origin to 0,0 every time we save?
.... i.e., an Option which does this for us.