NI Home
Cart Cart | Help
Hello Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI
You are here: 
NI Home > NI Developer Zone > NI Discussion Forums


LabWindows/CVI Idea Exchange

Announcements
The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea
Wolfgang

Fix 'Busy Wait'

Status: New
by Active Participant Wolfgang on ‎10-14-2012 05:15 AM

Starting CVI the IDE uses cpu resources even if sleeping, i.e. doing nothing except waiting for user input. It seems that the IDE is also using the scheme of SetSleepPolicy...

 

Today most other software does better and I would like to see an improved behavior: use cpu (and thus energy...) only if something actually needs to be done

Please conisider supporting multi-touch screen gestures in a similar manner to the mouse events.  Windows 7 Mulittouch capabilities are a good place to start. http://msdn.microsoft.com/en-us/magazine/ee336016.aspx

 

The GUI of the future will most certainly be touch screens, and users expect to be able to use gestures such as pinch, fling, spread, rotate, etc.

 

 

 

 

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.

Wolfgang

EVENT_APPLICATION_MINIMIZE

Status: Under Consideration
by Active Participant Wolfgang on ‎08-15-2012 03:17 AM

Hi,

 

following the discussion here it turns out that at present there is some ambiguity in using the taskbar button of applications created with CVI: Clicking on the taskbar button gives the visual impression of minimizing all panels of the application, in fact the panels are just hidden, not minimized. As a result, the application will behave differently if you really minimize panels using the _ panel button, or if you hide the panels by clicking on the taskbar. In the latter case the new EVENT_PANEL_MINIMIZE event does not get triggered and the application cannnot know that all panels are hidden (for the user appearing to be minimized). Hence this new event is required to complement this functionality.

Hello,

 

  • Right now, the Break on»Library Errors function break happens for all library errors. I would like to suggest a more granular setting, i.e. break on file I/O errors, math errors, etc.

 

  • An additional (and most relevant) feature I suggest is the option to allow to temporarily exclude certain errors; let's say I have a loop doing some calculations and these calculations result in an ERANGE error, then it would be useful to get notified by the debugger, but only once for this loop, not 500 times... Hence after a break on library error I would like to have the (right click) option 'exclude further breaks of this function'. This should be valid for the current execution and be automatically reset when the program is restarted.

 

  • Also, the menu command should provide the possibility to override all SetBreakOnLibraryError functions.

 

Many thanks!

The JIT debugger option in CVI 2010 is a nice step in the right direction, but only being able to debug builds that were compiled in "Debug" mode pretty much defeats the whole purpose of the idea. Debug builds are much too slow to be used in production and on my machines, if I ever use a Debug build, it probably already runs under the debugger anyway! Seeing that CVI is not even an optimizing compiler I cannot understand why release builds cannot be properly debugged. 

 

Thing is, the crashes in production are the important ones that I absolutely need to be able to investigate, and CVI does not provide ANY assistance in this area apart from being able to at least generate a MAP file. This is what I currently have to do: I have included code in my application that creates a memory dump and sends it to me when the application crashes or hangs. This dump I can then load into WinDbg and with a few tricks I can at least import the CVI MAP file to get some functions names in the stack traces, but that's it, all investigations have to be done on the assembly level. To quickly decipher stack frames, e.g. to have a look at local variables, I often even have to throw my OWN code into a disassembler (IDA Pro)! I'm really glad that this way I am now at least able to debug most crashes at all, even when they happen far away in a different country, but this aren't the 80s anymore and you can probably imagine that this process is hard and time consuming and very much annyoing. With code compiled in VC on the other hand I can load a MiniDump and have a look at the stack trace, variables and code on the source level without much hassles. 

 

Some ideas that could help:

 - Let me (JIT) debug release builds

 - Let me load MiniDumps into the debugger or

 - create PDB files that I can use together with a debugger that can load MiniDumps (WinDbg, VS)

 - Let me not only use an external compiler but also an external linker that generates PDB files for release builds (I don't like this solution as I use C99 features VC does not support, but I'm desperate here)

 

Okay, rant over for now, I think I really needed to vent a bit. Thanks for reading this far ;-) 

 

All the best, Marcel 

vix

Handling of NAN values in PlotScaledIntensity()

Status: New
by Active Participant vix on ‎09-26-2012 01:15 AM

In this thread it has been discussed how PlotScaledIntensity() handles NAN values.

In CVI 2010 SP1 NAN values are plotted with the center-scale color (and this is a bug).

Unfortunately the fix is not easy, and there could be different ideas on how NAN values should be handled.

 

I suggest not to plot NAN values, or to plot them transparent so that the plot area size is visible under NAN pixels.

When you use NAN values in PlotY(), for example, this points are not plotted.

jay_tee

CVI Service API

Status: New
by Member jay_tee on ‎03-13-2012 04:58 AM

Summary:

Implement CVI Service API for creating and managing Windows Services (and Unix daemons).

 

Description:

Add specialized CVI functions that users can use for creating, installing and managing the entire life-cycle of long-running user services.

Users can thus have a more uniform interface to the system service API and benefit from a higher level of abstraction across multiple platforms (Windows vs. Unix). These services can contain user code for various tasks, that are running in the background.

Wolfgang

panel events: MINIMIZE and RESTORE

Status: Completed
by Active Participant Wolfgang on ‎10-14-2010 06:44 AM

Hi,

 

in my application, several panels exist. Their size is fixed and can not be changed by the user, but they can be minimized and restored by the user. It would be nice to have the possibility to programmatically react to these MINIMIZE and RESTORE events. Right now, I have to poll the panel zoom attribute.

 

Thanks!

 

 

Status: Completed
0 Kudos
TECHNOFASE

CVI Application start as service

Status: New
by Member TECHNOFASE on ‎10-03-2012 02:39 PM

Please consider the possibility to make one option to set the application as Windows service, so i can start it on windows server BEVORE the logon is done.

Very usefully !!

0 Kudos

After doing Find operation,Discard find results on next compile.

We do find operation lots of time and we see its find results below.

In same result area, we also see error and other messages.

But once we do find operation its results are retained till we close project.

Its actually confusing for programmer,when he compile he feels that there is error.It should be discarded on next compilation.It has no use once user see find result.So it should be discarded.

0 Kudos
Jäger

CVI Lizenz

Status: New
by Member Jäger on ‎06-25-2012 02:49 AM

Wenn ein Rechner nicht am Nezt ist, vielleicht das Kabel nicht richtig drin oder am Platz kein Netz mehr frei ist, dann wird CVI mit einer eingeeschränkten Testlizenz gestartet und würde dann eine EXE generieren, welche in der Laufzeit eingeschränkt ist. Oft ist es der Fall, dass jemand CVI ohne Netzt started um im Quelltext etwas zu kontrollieren. Zu einem späteren Zeitpunkt erstellt jemand eine EXE neu und bemerkt nicht, dass das gestartete CVI keine Lizenz hat, obwohl der Rechner Netz hat. Er müsste erst CVI neustarten um die Lizenz zu holen.
Den Fehler bemerkt er erst am Folgetag, wo das Programm mit einem Fehler abgebrochen wird.
Es wäre aus meiner Sicht sehr sinnvoll, dass eine EXE, welche durch CVI ohne Lizenz erstellt wird, auch einen Popup mit eingebaut bekommt, welcher hiervor warnt.
Auch eine Abfrage, welche der Progrmmierer in sein Programm einbauen kann wäre sehr Hilfreich.

0 Kudos
Wolfgang

Smarter (or correct) EVENT_VAL_CHANGED

Status: New
by Active Participant Wolfgang on ‎06-21-2012 06:26 AM

Hello,

 

I just discovered a strange and unexpected behavior of EVENT_VAL_CHANGED which requires that I will have to double check all my previous software written in CVI...

For some reason I have assumed that if the EVENT_VAL_CHANGED is triggered on a numeric control the new value will be different from the old one. This may not be true - the value may be still the same!

 

Since for more experienced users this seems to be a well-known fact I doubt that NI will call it a bug, hence I am suggesting an improved behavior :smileywink:: Please, for numeric controls, fire the EVENT_VAL_CHANGED event only if the numeric value has changed...

 

(Right now, if the numeric control displays 1.0000 and I enter '1 ENTER' the value remains the same (at least), but the EVENT_VAL_CHANGED event is triggered...)

 

Thanks

 

PS: Also the documentation seems to be misleading: It (in CVI2010) states:

 

The EVENT_VAL_CHANGED event is generated continuously while the user is performing an ongoing action which results in the value of a control changing.

Status: New
0 Kudos

Would it be possible to allow ".." to be used as a "Custom Copy Directory" in the "Target Settings" dialog box (for dynamic link library projects)?  Or in other words, I would like the ability to specify that the Custom Copy Directory should always be one up from the project directory.  That way this functionalty won't break when I rename the directory or move the project between computers where the complete path is not the same.  A similar thing would also be handy in the "Specify Executable to Debug" dialog box.  Thanks.

Status: Under Consideration
To be clear, the portion of this suggestion that is under consideration is the ability for CVI to automatically consider paths above the project folder to also be relative to the project, as far as the "Custom Copy Directory" directory path is concerned (this behavior already exists for the paths of files in the project, but currently does not exist for other paths in the project, such as "Custom Copy Directory"). However, extending this to the "Specify Executable to Debug" path is not under consideration. The reason is that this option is saved in the workspace, not the project. Paths that are saved in the workspace have a much more restricted notion of relativity to the workspace file than paths in the project to the project file. This is because the workspace file is not really intended to be shared across developers, or even moved to different locations. If the project does need to be moved, it should be fairly easy to create a new workspace or to fix up the previous workspace.
0 Kudos
Shawn_S.

Excel code evaluation within CVI input

Status: Declined
by Member Shawn_S. on ‎07-01-2011 02:08 PM

I had a customer associated with SR# 7325346 ask how to change the maximum value for his Y axis in CVI.  I rightfully directed him to the SetAxisScalingMode function.  The customer told me that they were using an equation to determine the Max parameter for their Y axis [YMax=2*x + sqrt(x) + log(x)] or something to that effect.  He also said that the equation could change to something else, and he would like to change the equation on the fly within CVI. 

 

Basically, he's asking for functionality that would enable a text box to act similar to an Excel cell, which could evaluate simple equations such as add(val1,val2) or sqrt(val3).  We should build a tool that makes this possible.

Status: Declined
Cool as this would be, it really is outside the scope of what CVI is meant to do. CVI is not Excel, and the ability to add a formula parser to CVI is not something that is likely to happen anytime soon.
0 Kudos

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

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.

Idea Statuses
Top Kudoed Authors
User Kudos Count
2
2
1
1
By using this web site, you accept the Terms of Use for this web site. Please read these Terms of Use carefully before using any part of this site. Please go here for information on ni.com's copyright infringement policy.
My Profile | Privacy | Legal | Contact NI © 2011 National Instruments Corporation. All rights reserved.    |    E-Mail this Page E-Mail this Page