LabWindows/CVI Idea Exchange

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

A number of CVI applications I have written would benifit having the 'Save as type' option on the FileSelectPopup dialog (when the button label is save).

 

There are many simple workarounds, but these all result in a clunky and not so clean GUI.

 

It is fairly commonplace these days for an app to save a file in more than one format/filetype. For example, the dialog for saving a .uir file in the CVI IDE gives the option to save as an earlier version.

 

Hello,

 

if I move part of the code to another place in the file (to maintain a certain order) it would be nice if tags would be remembered. Right now, the cut operation removes the tag and I have to set it again manually after the paste operation.

Regarding NI Spy and its sequel NI I/O Trace,

 

Can we have a configuration option to set the length of exported strings?

 

Example: Current output of NI I/O Trace as shipped with NI VISA 5.1.2:

 

(.txt export)

149. viWrite (USB0::0x1234::0x1234::12... (0x073F41D0), "STATUS:QUESTIONABLE:E...", 26, 26)
(I've omitted thread/proc ID and timing information)

00000000: 53 54 41 54 55 53 3A 51 55 45 53 54 49 4F 4E 41 STATUS:QUESTIONA
00000010: 42 4C 45 3A 45 56 45 4E 54 3F BLE:EVENT?

 

(.csv export)

"viWrite (USB0::0x1234::0x1234::12... (0x073F41D0), ""STATUS:QUESTIONABLE:E..."", 26, 26)",Prozess-ID: 0x00001734 Thread-ID: 0x00001468,Startzeitpunkt: 16:59:33.749 Aufrufdauer 00:00:00.000,Status: 0 (VI_SUCCESS),

 

It would be extremely useful - especially for CSV export - to have a configuration option to let me configure how many characters to print before the string is truncated, so that I get this...

desired output in .csv or .txt file (untruncated string):

 

"viWrite (USB0::0x1234::0x1234::12345678::INSTR, ""STATUS:QUESTIONABLE:EVENT?"", 26, 26),process ID: 0x00001734 thread ID: 0x00001468,start time 16:59:33.749 duration of call 00:00:00.000,Status: 0 (VI_SUCCESS),"

 

Thanks for considering this.

Hello,

 

Frequently I have the need to debug array elements, such as parameter [ 1 ].

 

Right now, the data tooltips only shows the address of this array, but not the individual value. For this I have to open the variable view and scroll to the element of interest. This is extra effort...

 

Hence I suggest to also show the value of the specific indexed element in the data tooltip, e.g. parameter = 0x00611990; parameter [ 1 ] = 2.0

 

Thanks Smiley Happy

 

 

Summary:

Implement and add easy access to multiple clipboards inside the CVI ADE.

 

Description:

The CVI ADE (at least the source editor) should keep the most recent sequences of text that had been copied (Ctrl+C) to the clipboard.

It should also allow access to the multiple clipboards through some pop-up menu, displayed at a certain keystroke combination.

Same as the post "ATTR_DIMMED". I want to hide some tree items without deleting them. My work around is currently, to set the item size of the item, which shall be not visible, to 1 (0 is not supported). The disadvantage is, that the "small" items are still shown and there are big spaces between the "visible" tree items.

When I use the function "CopyTreeItem", the item is copied, but the value (behind the item is automatically increased or changed). Because the item might be used several times and the item is identified by its value, it is necessary, that the value behind the item is NOT changed. Please don't change the value of the item, when it is copied or please add a parameter, which handles the changing of the value (e.g VAL_DONT_CHANGE, VAL_LAST etc.).

It would be convienent at times to be able to insert items that would appear alongside the default Restore/Move/Size/Minimize/Maximize/Close items in the "window menu" that pops up when the icon in the top left of the application is clicked (or the alt-space key), such as seen with Windows' own Command Prompt program (see screenshot).  Thanks.

 

windowmenu.png 

I'm used to do some "object-like" coding in C, like using function pointers in structures to behave like method in classes.

 

Unfontunately, the code completion is not working as I would expect: the function is not recognized when it comes from a structure, but in cases where the field of the structure has the same name as an existing function the code completion uses the function (which may be misleading)

 

I have some other complaints about arrays in structure but I have no precise example to give.

 

I found a document on the NI site addressing the Win API but how do I look up their function/appropriate usage. Maybe a link to the MSDN database?

 

 

 

Hi,

 

In the CVI IDE I am using tags to mark functions as 'ready'. It would be nice if different tags would be available allowing to simultaneously flag several characteristics, such as 'checked', 'verified', 'tested'... I would imagine differently colored flags, possibly similar to the colored flags available in Outlook.

 

In larger projects this might be a useful feature to add some quick 'documentation' of the development status, and using F2 (goto next tag) to go to the next function that is not finished yet, has not been tested, etc.

 

Thanks.

Hello,

 

If one is interested in having a popup menu that shows up only for row or column headers it would be convenient to have the analogon to the event EVENT_TABL​E_ROW_COL_​LABEL_CLIC​K (which actually is a EVENT_TABL​E_ROW_COL_​LABEL_LEFT_CLIC​K event...), i.e. I am suggesting an event that is fired when a right click is received on a table column (or row) label.

 

It should be added that right now this is already possible with 11 additional lines of code, see the example colview, so I do not consider this idea as urgent Smiley Wink, but still...

 

Hello,

 

the Advanced Analysis Library provides some convenient functions for array operations; unfortunately some of them are available only for the 1D case and not for twodimensional arrays. While it is no big deal to add a loop I suppose that these AAL functions are speed-optimized, something that cannot be achieved when using the native CVI compiler.

 

Hence I'd like to suggest the addition of functions Clear2D, Set2D, Copy2D

Running an application in maximized mode (with main window covering the task bar), if you switch to the desktop (i.e. pressing Windows key+D), you are no longer able to return back to your application. You will see your application button in the task bar, but nothing happens clicking on it, nor you successed using Task Manager, you have simply lost your application.

Imagine you need to use a program in maximized mode and the program controls production tools and machineries, involving money and safety issues, it is an embarrassing situation.

I hope you can fix it soon, today I've fixed it training the operators to avoid the hanging sequence.

Thank you.

Sergio

Hello,

 

Following the discussion here, I suggest to allow the 'selection' of ring controls in order to copy and paste the displayed numeric value, even if the control is in indicator mode. For the user, an indicator ring control should behave (and look) identical to an indicator numeric control as long as both are indicators.

I utilize arrays of function pointers (recipe in a state machine) in a couple of projects.  I have the same general definitions for each of the functions (return type, parameter, a few calls inside that are used in each function, commenting, etc...) inside the array.  I have written an application that can scan all of my header files in the project folder, create a list of unique functions, I can then drag functions into the array or type names for new functions.  Currently when I accept my input all I can really do is copy the new generated code to the clip board.

 

What I would like to do is:

1) have it insert any new function declarations into a specific header file (which may be open in the ide with pending changes that haven't been saved)

2) Insert the array of function pointers into the current cursor location inside the current source file in the ide

3) Insert any new function definitions in appropriate files.

 

In my current app I am afraid to open and change files, not know if there are any pending changes in CVI not saved yet.  Would hate to loose all that hard effort if I forget to press CTRL+S.

 

I think it would be wonder full if when typing a statement like "if " the ide would automagically replace it with "if () {} else {}" with the cursor inside the ()...if the else isn't populated it drops.  Same thing for a for loop.  This is only because I hate typing, but I hate using a mouse more, perhaps soon we can have "thought to code".  Also, you have to know that I am the type of person that if they need to a task a second time, a program is written. 

 

So, to ease my fears I would like to be able to run a tool that when it is ready to write to a file I can manipulate the code directly through a CVI api or something.  If this already exists please point me in the right direction.  I looked at the function panels, there is an insert button for those, but what I want is more complicated than a single function.

It would be convienent if there was a callback event that is fired after a tree/table control is sorted.  Note that this is not the same as EVENT_SORT, as EVENT_SORT is fired after the user has requested a sort from the context menu, but the items in the control have not yet been sorted.  Please see this post in the forum:

http://forums.ni.com/t5/LabWindows-CVI/EVENT-SORT-and-tree-controls/td-p/1539312

 

Thanks.

In a table every cell can have a different type chosen from:

  • numeric
  • string
  • picture
  • ring
  • combo box
  • button

I'd like a new type: Numeric Horizontal Level Slide (with color ramp, but without numeric display).

 

see this discussion

Upon receiving the 2010 update I was excited to find the optical flow algorithms that had been added to the Vision Module. For a number of reasons I use the CVI toolchain, and was bitterly disappointed to find that there is no easy way to access them.

The C preprocessor in other compilers has seen some improvements over the years. Maybe you could freshen the CVI one up a little bit. With most modern C compilers there are some pretty advanced things that can be done in the preprocessor. But include those header files into a CVI project, and you start getting errors in the strangest places. And the cause of these isn't even some nasty trick, but pretty basic stuff for any other preprocessor.