LabWindows™/CVI™ 2013 Behavior Changes

Overview

This document contains the list of known behavior changes and incompatibilities introduced in LabWindows/CVI 2013. The Incompatibilities section lists changes to LabWindows/CVI that may break or alter the behavior of your applications.

Behavior Changes:

  • The following product components no longer appear in the tree on the Driver and Components tab of the Edit Installer dialog box:
    • Standard Run-Time
    • Instrument Driver Run-Time
    • Real-Time Run-Time

    If you select NI LabWindows/CVI Shared Run-Time Engine from the tree, LabWindows/CVI includes these components automatically.
  • The minimum installer size when including the run-time engine increased by approximately 41MB compared to previous versions of LabWindows/CVI. To decrease the size of your distribution, you can include LabWindows/CVI merge modules. 
  • The Project Tree no longer displays the Status column.
  • If you enable the Build with C99 extensions option, the Require function prototypes option is always implicitly enabled.
  • The results of several mathematical operations performed using floating-point numbers might differ from results returned in previous versions of LabWindows/CVI. The differences are small and within acceptable error ranges for the data types.
  • Function calls are no longer allowed in watch expressions or in the condition of a breakpoint.
  • You must rebuild any EXEs and DLLs built in LabWindows/CVI 2012 or earlier in LabWindows/CVI 2013 before you can debug them.
  • You cannot debug EXEs and DLLs built in LabWindows/CVI 2013 in LabWindows/CVI 2012 or earlier.
  • Displaying extended data in the Variables and Call Stack window is available only when a program stops gracefully, for example, as a result of a breakpoint or when stepping through code. Extended data is unavailable in the following instances:

    • If the program breaks as a result of an exception
    • If you manually break execution, for example, by pressing the Stop button
  • Expressions in the Watch window do not update continuously while a program is running.
  • You can no longer choose scope in the Watch window. All variables and expressions in the Watch window are evaluated in the current context.
  • Watch expressions that you save in LabWindows/CVI 2013 cannot be loaded by LabWindows/CVI 2012 or earlier.
  • Some C99 features are available in C89.
  • When debugging a real-time application via LabVIEW, LabWindows/CVI does not stop listening when the VI is unloaded. You must either Disconnect or Abort and reboot.
  • When graphs scale, they will always scale to the thickness of their line plots. In previous versions of LabWindows/CVI, only plots whose thickness was greater than 1 scaled up or down.
  • LabWindows/CVI 2013 includes updated bracket and indentation styles. You can continue using bracket and indent styles available in previous versions of LabWindows/CVI by selecting the Use CVI legacy formatting option in the Editor Preferences dialog box. Some of the legacy formatting options map to the updated styles except for the following combinations:

    • Function brackets set to uneven, left; statement brackets set to uneven, right
    • Function brackets set to uneven, left; statement brackets set to flush, left
    • Function brackets set to uneven, left; statement brackets set to flush, right
    • Function brackets set to uneven, right; statement brackets set to uneven, left
    • Function brackets set to uneven, right; statement brackets set to flush, left
    • Function brackets set to uneven, right; statement brackets set to flush, right
    • Function brackets set to flush, left; statement brackets set to uneven right
    • Function brackets set to flush, left; statement brackets set to flush right
    • Function brackets set to flush, right; statement brackets set to uneven, left
    • Function brackets set to flush, right; statement brackets set to uneven, right
    • Function brackets set to flush, right; statement brackets set to flush, left


    Note that if you select a legacy formatting option, batch auto indent support (selecting Edit»Format File and Edit»Format Selection), is unavailable.
  • In large source files with nested structures or many, subsequent structures, the auto indent feature for legacy editor formatting may be noticeably slow.
  • The LabWindows/CVI Help no longer includes a Font button for increasing or decreasing the font size in the help file.
  • The Options»Generate Visual Basic Include menu item is no longer available.
  • LabWindows/CVI 2012 returned certain compiler errors that are now returned as warnings. 
  • LabWindows/CVI 2012 returned certain compiler errors that are no longer errors. 
  • The Conservative and Aggressive levels of unitialized local variables detection are now combined into one compiler warning. You might notice more unitialized local variables warnings because LabWindows/CVI now flags all variables that may or may not have values assigned to them. This behavior more closely matches the Aggressive level for the Uninitialized local variables detection option in previous versions of LabWindows/CVI.
  • You must enable the Include project files in Interactive window or Include loaded instrument drivers in Interactive window options if you run code in a function panel or in the Interactive Execution window that has dependencies on other files in the project or on a loaded instrument driver.
  • You cannot view the values of #define macros when you are debugging.
  • The Up Call Stack menu item now moves toward the callee. The Down Call Stack menu item now moves toward the caller. In previous versions of LabWindows/CVI, the Up Call Stack menu item moved toward the caller, while the Down Call Stack menu moved toward the callee.

 

Incompatibilities:

  • LabWindows/CVI no longer links to gpibstub.obj or vxistub.obj.
  • To use the ExportStyle method in 3DGraphCtrl.fp, you must specify the directories to which you want to export files. 
  • Using the token-pasting operator (##) might return compiler errors that were not returned in LabWindows/CVI 2012.
  • You cannot specify a .c file as the module to load to the LoadExternalModule and LoadExternalModuleEx functions.
  • You cannot name a global integer variable index. Using index as a global variable will result in a compiler error: redefinition of 'index' as different kind of symbol. You must rename index to work around this.
  • In assignment, the value of the right operand is evaluated before an array indexing is performed in the left operand. Expressions such as a[i] = i++; will evaluate differently in LabWindows/CVI 2013 when compared with previous versions.
  • LabWindows/CVI 2013 now returns 2 as the size of variables of type wchar_t, which is consistent with the ANSI C specification. You must recompile existing code in LabWindows/CVI 2013 to see the change in behavior.
  • The order in which function parameters are evaluated is now left to right instead of right to left.
  • The Install LabWindows/CVI Shared Run-Time Engine in the application directory option on the Advanced tab of the Edit Installer dialog box is deprecated. If you need to install and preserve a specific version of the LabWindows/CVI Run-Time Engine, consider installing the LabWindows/CVI Side-by-Side Run-Time Engine. Refer to the Binding Executables and DLLs to Side-by-Side Run-Time Engines topic in the LabWindows/CVI Help for more information about the Side-by-Side Run-Time Engine.

    If you used the option as a way to deploy the LabWindows/CVI Run-Time Engine privately, see a work around for privately deploying the Run-Time Engine in KB 75BD03D9: How to Deploy the LabWindows™/CVI™ Runtime Privately.
  • __FUNCTION__ is now a compiler intrinsic rather than a preprocessor macro.
  • char, signed char, and unsigned char are no longer compatible. For example, the following code will cause a compile error stating that a typedef redefinition with different types has occurred:

    typedef signed char int8;
    typedef char int8;

 

Return to the LabWindows/CVI Release Information document.