LabWindows/CVI Idea Exchange

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

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

 

Adding to the many pending feature suggestions for tooltips (here, herehere, here and here) I'd like to suggest one more: please make tooltips more beautiful, i.e., drawn with rounded rectangles and with a shadow, see below.

 

tt.png

At present, you cannot edit text attributes when several controls are selected. It would be nice to be able to set text attributes the same way as we can set other attributes (e.g. status of leds or min/max limits for numerics and so on).

I am interested both in attributes for control text and control label.

Hi, All:

     As you know, Use "ExcelRpt_GetCellRangeAttribute" can get cellrange attribute.

     When pass parameter with "ER_CR_ATTR_ROW_HEIGHT" will get the number of characters.

     How can I get the real width like pass parameter with "ER_CR_ATTR_ROW_HEIGHT" will get the points.

If the thread that FileSelectPopup (and similar) is accessed is multithreaded, wacky things happen. The programmer can fix this by creating a new thread that is itself not multithreaded and pass information back to the current threrad. It would be helpful if the current functions were designed to default to create such a thread,  return the value(s), and garbage collect removing the programmer from the loop.

 

In the case of MultiFileSelectPopup, it is not clear to me what would be the best practice given the unknown number of results. I guess one could assume a limit for the number of results that may change as the Windows API does.

 

Other possible solutions can include an added parameter (variable switch) or with a whole new function. I could see the default case as an effective solution for legacy code that is partially refactored for multithreaded performance.

The following choices are availables:

[Program Files]
[Program Files (x86)]
[Desktop]
[Windows Volume]
[Windows]
[System]
[SysWOW64]
[System16]
[Program Data]
[Public Documents]
[Common Files]
[Common Files (x86)]
[Start»Programs]
[Start Menu]
[Startup]
[Temp]
[Favorites]
[Fonts]
[Templates]
[Send To]
[National Instruments]
[National Instruments (x86)]
[LabVIEW]
[CVI]
[CVI Shared]
[CVI Public Documents]
[IVI Std Root]
[VXI PnP]
[VXI PnP OS]

 

The User folder corresponding to CSIDL_PROFILE is not available. And no way to use it.

Right now if multiple controls are selected you cannot jump to the code with "View control callback" menu option or Ctrl+B accelerator even if they have the same callback. It could be handy to be permitted to go to source if selected controls have the same callback.

 

Consider this scenario:

On a panel you create two buttons, select both of them and edit their properties assigning a (unique) callback to both. Next with both controls selected you generate the callback using "Generate Control Callback" or Ctrl+G. Now you would like to go and code something in the callback but you're not allowed to: you need multiple clicks to go to source: one click anywhere on the panel to deselect controls, one to select one of the buttons and finally the right click or accelerator key. Not very handy...

Goal:

Extend function PoyFit() available in package Advanced Analysis Library regarding the fitting method.

 

Details:

Up to now the above mentioned function is available with fitting method "Least Square" only, which is not always the best approach depending on the data and fitting problem. The fitting method "Least Absolute Deviations" (LAD) resp. "Least Absolute Residuals" (LAR) should be offered as well.

 

Hint:

There already exists a LabView-VI called "General Polynomial" which offers the selection of the fitting method: see link

Bonjour à tous

 

Je suis en BTS et viens de commencer à utiliser LabWindows/CVI.

Je génère deux signaux carrés sur les ports PFI4/P1.0 et PFI5/P1.1 d'un USB-6210 mais je veux déphser celui du port PFI5/P1.1 par rapport à l'autre de 90°

 

Est ce que quelqu'un pourrait m'aider s'il vous plait???

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

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.

Right now it is possible to set the color, and since CVI 2013 also the line style, of all grid lines collectively.

 

I would like to distinguish between major grid lines and minor grid lines, e.g., draw major grid lines with dashed lines / light grey, and minor grid lines with dotted lines / dark grey.

 

Thanks!

 

 

As CVI evolves (in age and functionality) I feel that additional efforts are required for maintaining the product, i.e, keeping it 'consistent' and avoiding a 'mosaic look' as if assembled by different engineers in different decades... Smiley Wink

 

A simple example but also one I would like to see resolved is entering data types in the UI editor vs in a function call (PlotIntensity in this case):

 

 

edit_numeric.png      plotintensity.png

 

So, for example, long long translates to int64...  Why not simply use the identical terms??

 

I agree it could be worse but I also feel that this is a valid suggestion for future improvements...

Attaching controls to a splitter in the UIR editor can be a pain if the panel has several controls on it. I'll make an example using CVI example SendMail: trying to add a vertical splitter and attach all controls to it in order to rearrange the panel when the user resizes it. This is the original panel, you can see the vertical splitter in the upper right corner:

 

SendMail.png

 

 

First of all, if several controls are selected, they overlap in the right panel of the editor in a way different from the original panel. Here you can see that the decoration indicated by the arrow overlaps two string controls that I'm not able to operate on to select desired  attachment mode. This means that I need to proceed to attach controls in steps, hoping new controls added are not overlapped by previous ones. Alternatively I can move controls in the right panel to encover hidden ones, but this ingenerates confusion as controls are no more in the original position besides being a waste of time.

SendMail_Overlap.png

 

Second item: if selected controls are on the "wrong" side of the panel, they are all grouped (and possibly overlapped) on the closest boundary of the right window. See this example: Send and Quit buttons are only partially visible on the lower left corner of the right window and additionally they are overlapped (in the small box how they appear if I select one of them and move it upwards):

SendMail_Arrangment.png

 

 

I suggest that this function is improved with these additions:

 

  • Honour the z-plane order of the original panel when controls are selected for attachment and moved to the right side
  • Maintain original controls position when moved to the right panel. Consequently:
  • Have both scrollbars enabled in Controls on the Splitter window in order to navigate to the controls; at present only one of them is enabled, whether vertical or horizontal depending on the type of splitter

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

Hello,

Could you please increase the number of characaters in the graph legend ? 30 characters is so small...

 

Best regards.

Hi,

 

It would be handy at times to be able to get a string of a numeric control which represents the value exactly as it is displayed in the numeric control.  For example if the control shows "123.456E+9" or then there would be some way to get that exact string (other than reading the value as a number then formatting it into a string, of course).  I envision this could either be a new function call, or perhaps a non-settable attribute that can be obtained with GetCtrlAttribute(...) (the latter would of course benefit from being able to use GetCtrlAttributeLimited(...) ).  Thanks.

At present, autoscaling works with respect to the full provided data set, i.e. if all data are shown on the graph.

 

If say the X axis is set to manual scaling such that only a subset of all data is plotted, autoscaling of the Y axis still considers all data even if they are not shown, see the discussion here.

 

Hence it is suggested to provide an additional auto scaling mode which considers only the data actually visible on the graph, say VAL_AUTOSCALE_VISIBLE_DATA, complementing the current VAL_AUTOSCALE which actually is a VAL_AUTOSCALE_ALL_DATA

Hi,

 

I know from previous discussions that CVI formatting and scanning functions are no longer going to be updated, but I thought I would suggest this anyway.  It would be nice if there was a format modifier to specify engineering notation for the formatting functions .  Note that the standard C library functions also lack this functionality, and since I don't think it would be a good idea to change the behaviour of the standard library functions, here's an opportunity to improve the CVI versions Smiley Wink.

 

Thanks.

I want to be able to do the following:

 

  1. Right-click on a control on my user interface and select “Add Event Case to Control Callback” (if a callback function already exists)
  2. CVI brings up a dialog similar to what you see at Code>>Preferences>>Default Events to select an event for that control
  3. Check the box for one or more events for that control, click OK, then
  4. Have CVI find the existing control callback function and add a case to the switch statement for each event I checked

If you haven’t written any code in the callback already, you can just change the default events and re-generate (replace) the control callback.

 

However, if you have already written code for one event case, the only way I can find to add an event case is to do it manually. I go to Code>>Preferences>>Default Events or use the Operate tool to look for the constant name of the event that I am interested in, then I go back to my code and manually type out “case EVENT_CONSTANT_NAME: break;” with the name of the event and hope I remember it correctly and spell it right.

 

CVI is all about minimizing user errors and reducing development time by, you know, not making you type things out yourself, so I think this functionality would be a useful addition.