LabWindows/CVI Idea Exchange

Community Browser
About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

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.

Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea

I recognized it's not possible any more to view a constant while debugging since CVI 2015.

Example: #define CONSTANT1      1

For example if I have a constant defined, I can then right click “view variable value”.

Normally CVI then shows me the value.


Since CVI 2015 this doesn’t work anymore. I also tried with CVI 2017.

In our code we use many structs where the fields are defined by a constant.

Now when the debugger can’t view the constant any more it also won’t view the value of the struct.

Example: #define CONSTANT1      1

Int struct[10];

struct[CONSTANT1]  = 5;


This is the main reason why I didn't upgrade from CVI 2010 to 2015.

is there something called VI Analyzer for Labwindows CVI for performing the unit testing and tracing the bug with the Cvi Environment ?

0 Kudos

I have been looking for an easy way to resample data with either LabWindows/CVI or Measurement Studio and came across the Rational Resample VI for LabVIEW users. It would be great to have this functionality in LabWindows/CVI.


At the very least it would be good to have an Upsample method to insert zeros into a waveform/signal. Then an FIR interpolation filter can be used on the upsampled signal to interpolate the signal.

0 Kudos

I miss it every time I try to replace a parameter or start typing a long function name and realize it's not the function I want. Or even just when I want to delete a single line and don't want to select the whole line, or sit there holding the backspace key while life passes me by.


It's especially annoying because CTRL+[arrow] navigates word by word. So this is half implemented already.

0 Kudos

The CVI SavePanelState( ) and RecallPanelState( ) functions can be extremely useful.  Although the resulting panel state file is binary, it can however expose sensitive information with the use of even a simple tool like NotePad.  As a cumbersome workaround I had to use a command-line tool within my app, such as 7z, to compress and password protect the state file.   I suggest that CVI place a built-in protection into these functions.

0 Kudos

I recently installed the LabWindows 2017 beta version on a lab PC and tried using it to run a project built with 2015 SP1.  Unfortunately it didn't work because of a bug I found in the beta: calling the NewBitmap or SetBitmapData function crashes the program if the number of bits per pixel is 1 or 4.


Uninstalling the beta is proving to be difficult.  I performed an uninstall on LabWindows 2017 and Run-Time Engine 2017 through the Windows control panel, but it made me uninstall LabWindows 2015 SP1, NI-DAQ, and LabVIEW as well (because they were all dependent on the RTE).  Windows appeared to run the uninstall successfully, but the RTE folder and DLLs were somehow not removed or changed.  So when I rebuilt and re-ran my project, it still linked with the 2017 RTE and still crashed.  I had to manually copy the 2015 RTE files from another PC.


Even after this, there are still some other elements of the 2017 version left on the PC, such as the activation manager.


I would like to NI change this so that when the user uninstalls a new RTE, it automatically restores whatever previous version was active before the update without the hassle of having to uninstall and reinstall LabWindows, LabVIEW, etc.

If a file is listed in a project, but it is doesn't exist anymore on the filesystem, CVI doesn't mark it in any way in the project tree.

If the file is an .uir, this brings to a strange behavior with "Find UI object" (see here).

I think that files non-existent on the filesystem should be marked mark in some way (color, special icon, ...) in the project tree.

The check can be done when the user opens and closes the project.

0 Kudos

Hi Everybody,
I'm a student, and now i'm interning at a company that wants me to develop an industrial vision system.
I would like to ask you if i can use NI Vision Builder for Automated Inspection (VBAI) with the Labwindows/ CVI
If so, how? and what are the difficulties that may affect me?
THANK YOU for your help !
Best regards,

Under labwindows CVI 2015, I develop a program using a state machine. For this I use a "switch".
The program is voluminous, and in order to browse it more quickly, it would be very interesting to allow the collapse and the expansion of the boxes in a structure "switch"

Based on this thread, CVI RT doesn't support the new standalone cDAQ (9132, 9133, 9134, 9135, 9136, 9137) when they run NI Linux Real Time OS.

I think that this support should be added asap because it allows saving CVI code already developed

There are many library functions that return several parameters. Many of which you may not care about. Some functions allow you to pass NULL to ignore some returned parameters, but many do not.

For instance:

LinFit (X, Y, NbP, NULL, NULL, &Intercept, &Err);

if you are only interested in the Intercept and error values, will crash on run with a "Null pointer argument to library function" fatal error.

The way it's currently written , you have to (correctly) declare plenty of dummy arguments for your calls.

0 Kudos

Based on this discussion, Strip Chart controls don't support cursors.

I think it would be great if this support would be added.

The best option would be to have an advanced cursor like the "Graph Cursors Control" available for Graphs.


0 Kudos

Other text editors such as UltraEdit have the capability to trim white space from the end of lines.  This would be a useful feature, as sometimes extra white space can end up at the end of lines, and is annoying when copy/pasting, etc.  I would expect to find it under Options->Editor Preferences, similar to the tab/space settings.

0 Kudos

To export enum types with a dll there is a fine menu "Generate Function Tree...". Using the Help Buttom, one finds is a description on how to use it. It is mentiond not to nest the different comment type. "Avoid nested comments or combinations of comment styles ...... (backslashes, stars, etc.), what I understand. - Unluckily, if one uses comma "," or semicolon ";" within a comment, the tool fails with "I n v a l i d enum typedef.", what I consider is a bug. This makes the tool less valuable, especially if one resuses C source code from thirdparties.

I would like to propose an idea for National Instruments to come up with a LabWindows CVI Peer Review Form. This form would be used to help a software programmer or engineer review someone else's code to ensure that they wrote the best code possible. It would provide a quick set of questions which the reviewers would need to look for in the code and then answer. The form would help ensure that the code was designed in a format that is easy-to-read, efficient, set up for all possible failures, is as organized as possible, etc. There could be separate sections based on the different types of files, whether it's a .uir, .c or .h file.


This idea is not new, since here is an example style checklist for LabView:


If you open a project with many sources and edit a file named zero.c, it takes ages until the browsing information for this file is created.


Suggestion: prioritize (all) opened source files when gathering the browsing information.

On high resolution monitors, the icons in the toolbar, project tree, and library tree in CVI are really tiny. Font sizes can be configured, but icon sizes cannot.

As usage of high resolution monitors becomes more common, I think it would be very helpful to provide some configuration options to optimize the appearance and usage of the CVI environment on monitors of varying resolution. Please refer to the attached screenshot for an example of this behavior.



it was very nice to see clang updated to version 3.3 in CVI2015; I wish this support of current versions of clang will be continued in the future, so I am hoping that with CVI2017 we might get clang 3.9 or 4.0 because of the following issues:

- many many bug fixes in clang

- improved diagnostics

- support of C11

- full support of OpenMP 3.1 and beyond



0 Kudos

At present, when you double-click on a .cws or .prj file the most recent version of the CVI IDE is launched with the selected .prj or .cws file loaded.

However, both project and workspace files include the release of CVI they are developed on, so it would be possible to search in the system whether that release is installed and open it instead of the most recent one. This is crucial when you need to modify a program already deployed to a customer but do not want / is not possible to update the target machine configuration installing a newer Run-Time module than the one already installed.

At present you have no control over this event, but consider also that in case you make modifications to the UIR files also, it may become difficult to revert to the original IDE format; for this reason when I need to update an old program I need firstly to open the project file in notepad to see which CVI release to use for this.


If automating the launch in the correct release is not possible, at least issue a warning stating the difference in the IDE release used with respect to the original one.

A useful CVI GUI tool would be the addition of sideways tree-style tab control.  I am surprised to see no mention of it in the forums.  Is there already some solution for it, or perhaps some Active-X that can do it?    Nevertheless, it would greatly modernize the GUI arsenal.