LabWindows/CVI Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

If you have, say, three controls called MAX_1, MAX_2, MAX_3 arranged vertically. If I select them all, copy and paste, the new controls appear as MAX_4, MAX_5 and MAX_6 but in the wrong order to what you would expect.

i.e.

MAX_1

MAX_2

MAX_3

 

becomes

 

MAX_1

MAX_2

MAX_3

MAX_6

MAX_5

MAX_4 

 

A similar issue occurs with assigning a group of controls to a control array, they always seem to be in the wrong order, usually reversed.

Hi,

 

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)

It appears that cvi.exe can run into serious memory problems for larger projects due to a memory-hungry generation of source code browse information.

The solutions suggested (* don't generate browse information for larger projects or * don't use larger projects) are not too helpful. In my opinion, a much better solution would be to provide cvi.exe as a 64 bit application.

Because a crashing CVI is a serious limitation I hope this wish will make it soon.

Thanks...

It has been suggested much earlier here, but obviously passed out of mind:

 

When using 'Go to Definition' (CTrl+I) while in release configuration, CVI tells that no source code information was found for the identifier '...', because 'Browse information is not available in the Release configuration'... (still true for CVI2010)

 

This can and should be improved!

 

And it might be a good opportunity to also add the reverse process, 'Goto Declaration', suggested here

I would like to see some statistic informations about my cws and or prj-files. Like the "LinesOfCodeWichtel"...

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.

In the last few years JSON came out as new format for data objects consisting of attribute-value pairs, largely replacing XML.

LabVIEW has functions to handle JSON data, and LabVIEW Community has been developing a JSON Toolkit.

In the CVI board of the forum this is the only result for a "JSON" search (at the present).

 

I suggest to integrate into CVI a JSON library (for example JANNSON).

I think this is better than develop a proprietary library.

As discussed here and here, CVI does not re-open workspace files in the order they were when CVI was closed; I am referring to confined workspace, not freely floating windows.

 

As a result, starting CVI one first has to locate all the files, where did the include file go...? If you happen to have some more tabs this is a waste of time.

 

Also, as Roberto mentioned, you can not easily use the short cut keys Ctrl-1 etc. because of the changing assignment.

 

So, in short, I am asking to improve this behavior and maintain the tab order of CVI workspace files, that is, re-arrange/re-open the tabs in the order they were when CVI was closed.

 

Thanks!

Over the years the look of CVI's control elements got closer to native Windows controls, e.g. by the direct use of native Windows controls such as the File Select Popup, which I would consider a welcome visual improvement.

 

What still is not available is a control element providing a Windows-like status bar, e.g. like the one of CVI's IDE.

 

I imagine a status bar which is similar to use as a menu bar, i.e. with a LoadStatusBar command, similar editing capabilities and the possibility to define the number and type of elements (text, image,...). Also the lower right part should resemble the typical Windows 'triangle', see figure below.

 

status.jpg

 

Thanks!

Hi,

 

I would like to see an configuration of batchbuilt process. I have a big workspace with many projects; and would like to create different setups, like "compile only all server projects" or "compile all client projects". The workspace contains a big server-client -based software packages; some dll-projects used for server side only, some only client side.

 

Peter

As suggested by Daniel (D-Cubed) an improved version of GetCVIVersion is needed in order to determine the patch level programmatically. Right now, no simple approach exists for an executable to determine if the CVIRTE is a patched version or not. For example, GetCVIVersion returns 1300 both for the patched and the unpatched 2013 release.

 

Thanks.

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.

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...

 

Thanks.

Hello,

 

following the discussion here I suggest to (more clearly) indicate the number of allocated rows and columns in the UI table editor.

 

I imagine something like

table-editor.png

 

where the left number indicates (as now) the currently selected row, and the right number (11 in my quick example) indicates the number of all table rows.

 

The same might also be added for the number of total columns.

 

Thanks.

I want the batchbuilt window sizeable.

 

My cws consits of 51 projects, and the configurations-list is no longer useable. I just can see the project names, but not able to see the "release/debug/..." additional informations of the projects to be built. The list looks like

" c:/../../Task_AutomaticMeasurement.prj - D"

" c:/../../Task_FullAutomaticMeasurement ..."

CVI currently jumps to the first entry in the build output window, whether this is a warning or an error. I'd like to suggest an option to see the point of the first error, if there is any, before any warning. Maybe they could be color coded, too. When starting a new project I usually place some TODO messages (#pragma message) and if this is in a global header file I always see this and not the build error.

Hi,

 

The CVI runtime engine calls the Windows API function SetProcessDPIAware() that tells Windows that the application is DPI aware in Windows Vista and later.  This seems to be forced upon all applications built with CVI, whether they are actually DPI aware or not.  Most applications built in CVI using the default tools are not going to be DPI aware out of the box, and setting Windows to another DPI setting than what the programmer used to create the UI will cause many graphical glitches and possibly make the application unusable.  The purpose of this request is to suggest to NI that the CVI Runtime Engine not call SetProcessDPIAware() so that the programmer can handle (or not handle) DPI scaling as they see fit.  If the programmer does nothing, the application will then, by default, be scaled using Windows DPI Virtualization.  This is not optimal, but it would leave the application usable and looking like how the programmer intended.

 

This is per this discussion here:

http://forums.ni.com/t5/LabWindows-CVI/Forcing-DPI-Virtualization/td-p/3079742

 

Thanks.

This issue is that old that we all forgot about it... Smiley Wink

 

But this thread brought it back to my attention and I'd like to suggest two improvements:

 

Setting the width or the height of a control does not always succeed because there are limitations concerning the minimum and maximum size.

 

Suggestion 1:

 

If a function fails it should return a warning. However, calling e.g. status = SetCtrlAttribute ( panel_handle, PANEL_RING, ATTR_WIDTH, 5 ) returns success (0) even though the width of the ring control will be much larger than 5 pixels. For checkboxes, the situation is even worse because checkboxes are drawn right aligned to a transparent rectangular frame. So calling status = SetCtrlAttribute ( panel_handle, PANEL_CHECKBOX, ATTR_WIDTH, 500 ) will result in a transparent drawing rectangle of width of 500 but with the checkbox size remaining at the default size. Since the checkbox is drawn right aligned to this transparent frame the checkbox eventually may disappear from the panel (setting the width to say 10000 will not draw anything).

 

Suggestion 2:

 

Complement the documentation, the idea is given below:

 

Constant: ATTR_WIDTH
Data Type: int
Description:  The width of the control body in pixels.
Valid Range: 0 to 32767
Control Type Restrictions: Not valid for controls of type CTRL_VERTICAL_SPLITTER and CTRL_VERTICAL_SPLITTER_LS

For checkboxes, the minimum size is ... pixels, and the maximum size is ... pixels.

For ring controls, the minimum size is ... pixels.

...
LabWindows/CVI Compatibility: LabWindows/CVI 3.0 and later

Control Types:  All

In CVI 2013 the array display has changed (for the worse, in my opinion).

 

There are two minor inconveniences and one acute shortage I would like to see improved (hopefully prior to CVI2020 Smiley Wink)

 

First, the right click context menu: If I want to see values of a numerical array, it offers a 'Graphical Array View' but no 'Array View', so one first has to chose 'View Variable Value' and then 'Array Display' - maybe one could save one step and already provide the 'Array Display' in the first case...?

 

Second, the new Array View table still is very slow, not extremely slow as prior to SP1 but still very slow...

 

Most importantly, at present it is impossible to debug large arrays, large meaning arrays with more than 10000 elements. The current implementation requires to select a slice of data - but this makes it impossible to check or compare say array indices 5, 10005, and 20005...

Of course I agree that there is no need to simultaneously see more than 10000 data values - but why not have a table with say 100 rows that can be turned over, e.g.  displaying either elements 1-100, 101-200, ... this way one could access and inspect all array values...

I made this suggestion some time ago - unfortunately I had combined it with another, related idea. The other idea was implemented so now the complete issue is dead, sorry, completed. Smiley Surprised

 

This suggestion is meant to revive the unfulfilled request of two new attributes, allowing to dim and hide a specified entry in a ring control. This would be convenient as it avoids to programmatically rebuild the control.

 

Thanks!