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.
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.
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.
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
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.
Implement CVI Service API for creating and managing Windows Services (and Unix daemons).
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.
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.
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.
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.
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 : 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...)
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.
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.
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.
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.
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.