searching through the C code for specific controls first and foremost requires the knowledge of the control's name... If there are some hundred it may get difficult to remember and thus I typically have to check the UI for the constant name. Clicking on the control shows its name in the status bar, a welcome feature, but unfortunately I cannot directly use this text for searching...
What I suggest is allow copying this status bar field using CTRL+C; then it's possible to switch to the C code, press CTRL+F and CTRL+V... (The property browser is not really useful here because it only lists 'NUMERIC_7' and misses the associated panel)
Another, even more powerful feature would be to add a right click popup menu either to this status bar field ('Search C code for this constant') or to the control popup itself: Besides 'Generate control callback' etc. I'd like to see another entry 'Find control in C code'
IPv6 is becoming more ubiquitous each year. More and more the US government is requiring it for defense designs. Microsoft has supported it in Visual Studio since 2008. Even Agilent Vee supports it. It should strongly be considered for both LabWindows CVI and Labview. There are workarounds using dlls, but a company like NI shouldn't expect users to have to do that. I am off to start my workaround. Please give this not so new idea some serious consideration. Thanks.
Using CVI 2010 you can create different Custom Configurations
But I think that if a developer creates a new Custom Configuration (debug or release, x86 or x64), he wants to distribute it to a target machine. I don't create a Custom Configuration to have it run on my developer machine!
I've already asked to NI Support, and this can't be done in an automatic way.
So I suggest a new feature in the "Edit Installer" window to specify which Configuration (Default or Custom) to include into the installer (see attachments)
It would be nice to be able to add some comments on UIR objects in the editor.
I'm mainly concerned about versioning: sometimes I happen to apply some modifications to existing panels / objects that are not self evident and I run the risk of forgetting them while revising the project after a couple of weeks.
As an example, I have recently modified some string and text message controls using "Greek" character set so that I can embed omega and delta symbols in them. At present I have a text file describing all modifications I have done in the project, including those in the UIRs, but it means I need to revise this file when I open the project again. It would be good if I could add a comment on those controls and have a visual reminder of it directly in the editor (e.g. with a little symbol like when you add a comment on an Excel cell) so that every time I open the UIR I see the presence of comments at a glance.
Currently, there is no way to access the historical data on a stripchart. The only way to manage this data is to maintain a separate buffer and update it whenever you add data to the strip chart, which is inefficient and tedious. Accessing data is possible for graph controls using the data attribute:
GetPlotAttribute (panel, PANEL_GRAPH, plotHandle, ATTR_PLOT_XDATA, &data);
Something similar should be implemented for the strip chart, either as an attribute in the getTraceAttribute function, or as a standalone function (getTraceData, etc.)
It was a nice surprise when CVI provided clang as an external optimizing compiler. In the meantime, however, the initial clang version 1.0 has been significantly improved and now is at version 3.0 - but not for CVI users...
I would suggest that NI provides a current Windows binary of the compiler for everyone with a legal copy of CVI2010 or later. As the release cycles of CVI are quite long it would be convenient to obtain, on a biannual interval, interim updates of clang.
On a side note, this also would provide some motivation to keep/renew the SSP. Right now I consider it disappointing if the equivalent of several hundred Euros is a patch of CVI only. Other major companies such as Autodesk or Microsoft provide patches free of charge...
we are daily dealing with "constant name" field's values that canNOT exceed 21 characters due to restriction on labwindows/CVI.
even the latest CVI/2009 SP1 v9.1.1 (450) has this restriction.
this is very tedious because our software makes use of this value to make cross searches in the registers' table of our component.
as such, if the "constant name" field's value must be trimmed down to <=21 chars to comply with CVI restriction above, this makes the cross-search unusable.
please increase this limit up to 32 chars (at least).
STMicro Grenoble France.
Somewhat similar to SetBreakOnLibraryError, I suggest the addition of a function that does a breakpoint when the specific attribute of a panel/control changes.
It could work like this:
SetBreakOnCtrlAttributeChange(panel, control, Attribute)
ClearBreakOnCtrlAttributeChange(panel, control, Attribute) // Use -1 to clear them all
ClearBreakOnPanelAttributeChange(panel, Attribute) // Use -1 to clear them all
Example of use:
SetBreakOnCtrlAttributeChange(panel, control, ATTR_CTRL_VAL)
SetBreakOnCtrlAttributeChange(panel, control, ATTR_VISIBLE)
If the label area is fixed size (i.e. option "Size to text" disabled) and is higher than the font height, it would be useful to have an attribute to set the text vertical alignment:
Now the text can be justified only horizontally (left justified, centered, right justified)
Even after using CVI for many years I still find the DirSelectPopup confusing, because it provides a file selector, displays files, and even allows to select files...
I would prefer an improved/modified function such that the DirSelectPopup only shows directories, does not provide a file selector, etc.... This should make it much more obvious that one is selecting a directory, not a file...
Similiar to LabVIEW, I would like to have a "save as" option to store all files within the prj-file to a new location (maybe also for store a cws, res all mentioned prj-files).
Would make it easier to handle over a CVI-project.
I am feeling that LabWindows/CVI lacks a feature that leads to confusion and to minor lack of productivity. When opening the Project File from Windows Explorer or another manager, CVI will start and open that particular project. However, if an instance of CVI is currently running, it will close the project that’s opened and open up the new project. This doesn’t seem right. Let’s say your’re working on a project and you want to open a reference project or an example from ‚Samples’ in order to find some information. Your project automatically closes and you must open it again. You have to search the project on the disk and wait for it to load each time you want to look for something in another project. But you only want to take a look at that example (or reference project), you don’t want to work on it! A workaround exists: open up an instance of LabWindows/CVI and then open your second project. And you must do that for each supplementary project you want to open, while not losing you project of interest.
The feature I think should be implemented would allow the following behavior: when opening a project, LabWindows/CVI will check to see if that project is opened in one of its running instances. If it is, that particular instance is brought into view. If it isn’t, a new instance of LabWindows/CVI will be started and the project will be opened. That way you reduce waiting times (especially when a big project is involved in this switch) and increase productivity.
This would make it a bit easier to edit an old project without the issue of upgraded UIRs because it might get loaded by the wrong CVI version and one edits and accidentally saves it before noticing.
Visual Studio installs a helper EXE which launches the right Studio for any SLN.
If MS didn't patent this , it would be a nice feature for CVI (and LabView?), too.
In the process of developing a function one typically has to change the number (and type) of parameters. This has to be done both for the function and the function declaration. Hence I would consider it useful to have an option 'Goto Declaration'.
Right now the IDE provides the right click menu 'Goto Definition', so if I change the declaration it is easy to jump to the function and adjust it accordingly. It would be nice if the reverse process would also be possible...
The FileSelectPopup dialog in LabWindows/CVI does not allow the programmer to set attributes for the dialog, such as sort order for files in the dialog.
Similar functionality already exists for other functions in CVI, such as SetPrintAttribute to set attributes for a file to be printed. It'd be extremely convenient to have a SetFileSelectAttribute with options such as VAL_SORT.
It shouldn't be necessary to set these attributes to use the FileSelectPopup dialog; their use would simply change the settings from their default values.
I was operating on Pop-ups,I felt need of feature like java.
In Java when we have display Message we can easily concatenate variable with message string by using '+' sign.
In LabWindows,when do message pop up,
int var = 3;
MessagePopup("Message count","Message No : "+var);
such a feature should be there.otherwise we do some string operation then Display message like " Message No : 3".
So it increases string operations and string operations gives problem in memory management.
So at least In API's such '+' sign for concatenation of string with variables should be available.
Even if it is C language supported.
Seriously, NI should look over the newer Visual Studio IDE's as well as NetBeans for some good ideas ...
Here's a few:
1. When using the F2 function to find a previously marked spot, you can't easily look for the next bookmark going backwards or restricitng the search to the current module. You can in Viusal Studio.
2. There's no clue offered for the extent of a block - other IDE's either backlight the match braces (VS 2008) or draw vertical lines showing the block extent (a popular VB add-in tool does this).
3. Refine the search selection to be current module, current project, or current workspace ...
4. Allow concurrent builds of multiple projects within a workspace - VS 2008 allows this, in fact, the default is to build everything in the current solution (solution = workspace).
5. Allow toggled commenting of multiple lines of selected text, rather than the "exclude" option that won't let you save excluded lines without commenting them - then the IDE lets you comment them, but not until then. Same thing with un-comment.
6. Implement a lazy background re-compile that re-compiles as you type - saves you a jillion CTRL-K keystrokes to do it yourself. Couple this with near real time notification of compile errors as you type.
7. Fix the &*!)$@^ CVI linker to allow 16 byte alignment.
8. Implement full C99 (MS hasn't done this though and apparently never will).
9. Dim conditionally compiled source that isn't going to compile - nothing is more irritating to me when editing than forcing yourself to ignore conditionally compiled code that's not going to compile. It's tricky to make this work right but it'd stil be worth a try. VS 2008 kind of does this.
10. Provide a pull down menu of functions within a module - this is better than the CVI source browser which is a PITA to use - ti's no wonder to me that this is the most requested improvement so far.
I would consider it quite convenient having a simple CVI function, similar to GetPanelDisplayBitmap, providing a true screenshot image of a CVI panel.
As discussed here, the CVI function GetPanelDisplayBitmap does not provide a screenshot image of the panel, i.e. the bitmap lacks all OS-specific features (color theme etc.).
For backward compatibility reasons, NI should provide a new function, returning a bitmap that looks the same as if I would have pressed Alt+Prt Sc
following the discussion here it turns out that at present there is some ambiguity in using the taskbar button of applications created with CVI: Clicking on the taskbar button gives the visual impression of minimizing all panels of the application, in fact the panels are just hidden, not minimized. As a result, the application will behave differently if you really minimize panels using the _ panel button, or if you hide the panels by clicking on the taskbar. In the latter case the new EVENT_PANEL_MINIMIZE event does not get triggered and the application cannnot know that all panels are hidden (for the user appearing to be minimized). Hence this new event is required to complement this functionality.
sometimes it woud be useful to have plot symbols available that are larger than the fixed standard size. Hence I suggest providing a plot attribute ATTR_TRACE_POINT_SIZE where one could set the point size (e.g. in pixels)
Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.
The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.