LabWindows/CVI Idea Exchange

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

Hello NI,

CVI permits us to use different tab fit modes, e.g., Single Row Scroll or Multiple Rows, in software developed with CVI. Unfortunately, the IDE itself only has one mode, Single Row Scroll.

Now, if I am working in a slightly larger project with say 12 or 15 files open typically only ten tabs fit on my screen, for all the other files I would need to scroll using the tabs. In such a situation I would prefer having the option to have tabs in multiple rows, allowing accessing all files/tabs with just one mouse click.

The project tree does not always help in this case if one is also using files temporally, i.e., not in the project (for example, if I compare/copy routines from different projects)

Thanks!

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.

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.

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.

The most recent version of the C runtime that comes with the Phar Lap ETS is msvcr90 from 2008. That really restricts the usage of more recent third-party libraries on real-time targets shipping this operating system.

 

Support for msvcr{100,110,120,140}, even with stubs for most of their functions, would be greatly appreciated.

Hello,

 

I have a very elaborate Front Panel, developed in LabVIEW 8.6, which I'd like to import into my LabWindows/CVI 2013 development environment.

 

The background is that the new company colleagues are very proficient in C and want to use LabWindows/CVI to re-program the current state of the software and maintain and update only using LabWindows/CVI in the future.

 

This would be very usefull, since it would save a lot of time and keep the naming of the elements in the front panel as-is. For the customers it would mean, having the same tool they are used to work with and receive much faster and better service when it comes to changes or additional functionality.

 

If there is already a way to do this I'd be happy to have a step by step guide.  

 

According to the feedback from the forum, this still doesn't exist. (http://forums.ni.com/t5/LabWindows-CVI/Can-I-convert-a-LabVIEW-Front-Panel-into-a-LabWindows-CVI-User/td-p/3044003)

 

 

Find Variable Info When In Release Build

 

If I build a debug build I can go to definition.  As soon as I switch to release mode this doesn't work.  If a debug build has been completed can't you just get the information even if it's wrong?  The majority will be correct and would save time switching back and forth.

Tabbed Search Results

 

Have file searching similar to SlickEdit where you can keep creating tabs and then auto increment between them to swich between serach results.

In CVI 2013 is option “Run -> Attach to Process…” and new is option “<< Running >> -> Detach from a process” during debugging, which is very good to  debug TestStand sequence and CVI DLL, advantageous if I need to update CVI code and do not have to launch TestStand again and again after new CVI code is builded.  Hovewer, to attach CVI DLL to a process is always necessary to do next steps: Run -> Attach to Process…, then select process from a list (seqedit.exe) and click OK. I would appreciate similar option as “Specify Executable to Debug…” or key shortcut to attach process directly to TestStand in one click or using simple key shortcut.

 

attachtoprocess.png

selectprocess.png

 

While editing the code, pressing Ctrl+Shift+U or selecting Right-Click+Find UI object jumps directly to the object identified in the code (either the control constant name or the associated callback name).

This works well if the control is on a single panel: the correct panel is shown in the working area of the editor scrolling through the file if needed. If the target control is on page of a tab control, however, the UIR editor opens in the upper left corner of the UIR file; actually the correct control is selected on the tab page, but if it is located out of the editor screen area in the UIR file you need to manually scroll right- and/or downward to show it.

 

Please correct it: it's not always obvious where the target control is located in the UIR file, wespecially if this one is rather complex, with several panels/controls.

Problem:
The Find dialog currently doesn't store its text search settings (e.g. Case sensitive, Whole word) if the User cancels the dialog.

 

Details:

The Find dialog only stores its text search settings if the user explicitly performs a file search. The disadvantage of this behaviour, is that the user has to reconfigure his search settings after cancelling the dialog. Users may sometimes open the Find dialog, configure some search settings and then (probably accidentally) cancel the dialog, but then open the dialog again to perform the actual search. This way the previous search settings are reset and lost.

 

Suggestion:

I suggest that the search setting should be stored somehow in the CVI ADE, such that the search settings persist in the text editor, despite of the user cancelling the Find dialog.

I also think that this should apply for other text search dialogs (like, Find in Files, Replace, Replace in Files). This behaviour of a text search dialog is particularly accepted by other mainstream text editors and IDEs.

 

Advantages:

  1. Search settings are stored even if the user cancels the Find dialog.
  2. User doesn't have to explicitly invoke a find operation through the Find dialog, in order to have search settings (mainly the 'Case sensitive' setting) influence the Quick Search (Ctrl + Q) functionality. This is by far, the most helpful use case for this change. It's quite cumbersome to always have to performs a Find operation through a find dialog, in order to change the case sensitivity of the Quick Search feature, particularly because the find operation takes extra steps and causes distraction (displays the Find Results window).

Hello,

 

I have two suggestions concerning this menu:

 

First, I'd like to have the option NOT to show the Build window if there is no error. Right now, I edit code, test run the code, and then have to close the Build Output window every time because it uses place (if you use a split screen it does make a difference...). Yes, I could change the height of the Build Output window, but then if there is an error I don't see it...

 

Suggestion: Add an option 'Always show Build output' or similar.

 

Second, make the checkmarks in the window menu modal and consistent

 

what does a checkmark in the Window menu of CVI mean? At present, not much...

 

If you select 'Build Output', this menu item shows a checkmark and the Build output window is displayed - sounds reasonable.

If one then selects 'Source Code Browser', the checkmark moves on to the new selection, although both windows are displayed there is only one checkmark. So no checkmark does not imply that there is no window...

Selecting a checked menu item does not undo the action, the checkmark remains and the window, too. I find this, hm, special... and would like to have it changed to a modal operation.

When you place a splitter control on a panel with several controls and want to attach a few of them to the splitter, you can define for each of them whether the splitter moves or resizes the control ("attachment mode"). At present, however, this must be made individually control by control, which is time wasting if you have a bunch of similar controls to attach and define.

 

I suggest the splitter control is added the ability to select more controls and set for all of them the attachment mode in a single pass. Limiting this possibility to similar controls (e.g. only numerics or tables selected) can be accepted if this simplifies checks the editor does in this operation.

 

(this suggestion refers to CVI up to 2012SP1, I cannot check it for more recent releases)

Basically the API should provide

GetCVIDir(char **path);                                    // return an array of paths to the different CVI versions installed

GetCVIFilesTemplateDir(const char *path2CVI, char *path);  // if path2CVI is NULL, path target the most recent vesion of CVI installed

GetCVIProjectTemplateDir(const char *path2CVI, char *path);

GetCVISampleDir(const char *pathchar *path);

...

 

It is always possible to write such functions but for example, for the samples directory this is a pain because you need to resolve the CVI Samples.lnk file using IShellLink interface, OLE32 etc.

Best regards, Philippe

To make a long story short : Breakpoints should be a kind of "3 or 4 states round-robin object" with some sort of memory regarding the condition (if any)

 

Let me explain...

 

Let start on one line with an empty margin
first click  : set breakpoint     - red diamond
second click : disable breakpoint - grey diamond
third click  : delete breakpoint  - empty margin

 

At this point, when the user click again and again in the margin he can see the red, grey and empty margin cyclically. Yes, 3 clicks are now needed in order to recover an empty margin (instead of 2 actually)


The behavior above ehance the existing behavior. Indeed, it gives more option to the user (disable breakpoint) without changing the way of working. In addition, it help users to discover breakpoints can be disable.

 

Now let's look the case where, at one point the user set a condition for the breakpoint

 

Again, let's start on one line with an empty margin
first click  : set breakpoint     - red diamond
right click  : edit breakpoint    - yellow rectangle (should be yellow diamond, small change in the display)
second click : disable breakpoint - grey diamond (instead of grey rectangle, this is a disable breakpoint)
third click  : delete breakpoint  - empty margin

 

Then, when the user click again and again in the margin he can see the red, yellow, grey diamonds and empty margin cyclically. 
Please note that the latest condition of the conditional breakpoint is set/recall automatically when the yellow diamond appears (memory effect). 

 

Again, the behavior above ehance the existing behavior. The key point is that you "do not loose" your condtionnal breakpoint when you click on it. I know it is not true since the breakpoint is still in the list of breakpoints but this is a frustrating experience when you click on a yellow recetangle and whe you see it "disapear".

Last but not least, overing a yellow diamond (rectangle) should display the condition in a tooltips (passcount = x - condition is : "sdfsdfsf"). I know it has been already propose and it is under consideration.

 

Best regards, Philippe 

The search function differentiates between "xxx(..." and "xxx (..."  or  "xxx[..." and xxx [...". Frequently you find both writings in the same file.

I did not even find a way to specify the an option to ignore blanks in the regular expression search (does it exist, and I didn't find it?).

I would appreciate if the search function would ignore blanks e.g. for function calls and arrays

Up to CVI 2012 the mode of the build was shown as "create release executable" or "create debug executable". This has been changed simply to "build" without showing the mode selected. Thus it not obvious anymore, which kind of executable is being built.

Please reinstall this important little note:

Switching between debug and release is a relatively frequent action, and it should be shown clearly which mode is being built

I am facing an issue of crash using LabWindows 12.0.1 (on Windows 7 OS) with no error message at all.

Only the icon is changed into a blue-color ring, and nothing else.

Even Task manager is not able to kill LabWindows process.

The only way is to re-boot the computer.

I've contacted NI support, but I am not able to give to them any error message.

 

Hypothesis is that it is quiet long to access files, because the whole software project is stored throuh ClearCase onto a distant server.

 

This is why it could be usefull to add a mechanism which records several debug information for NI support team.

This feature is already included into other NI products, such as LabView.

For exemple, a log file could be created and filled-in with debug information each time an instance of LabWindows is loaded.

 

On the tab control property page there is no way to set the control mode as indicator.

However this can be done programmatically with SetCtrlAttribute (panelHandle, PANEL_TAB, ATTR_CTRL_MODE, VAL_INDICATOR); which has the effect of preventing the operator to change the shown page.

 

It would be handy to be able to set this attribute at design time too.

Hello,

 

when using the two subwindows of the source code editor I frequently need to scroll both windows the same way because my screen isn't high enough Smiley Wink This means that I scroll down one window, switch to the other window, and scroll again.

 

It would be much more convenient having the possibility of simultaneously scrolling both windows. I imagine that pressing the SHIFT key modifier would allow for synchronously scrolling both windows while scrolling without the SHIFT key would show the present behavior.

 

What do you think? I think it's no big deal of implementing it Smiley Wink