Breaking Changes in DevExpress VCL 12.1.3
This page lists those changes in DevExpress VCL 12.1.3 that may break your code written for previous versions of our VCL components.
Installation for VCL
Starting from VCL 12.1, the installer includes only shared packages and no longer provides personality-specific packages for IDEs. The installer removes the personality-specific installations for IDEs during the update. You need to select the appropriate RAD Studio versions at the selection step in Setup and install the shared packages instead.
VCL Subscription
Since the installer now includes only shared packages, the out method and event parameters that reference object types have been replaced with the var parameters to ensure proper header file generation in C++Builder. As a result, saving changes in existing Delphi projects may result in errors regarding incorrect method or event handler parameters. When prompted by the IDE, do not remove incorrect instances but manually replace "out" with "var" in method/event handler definitions and implementations, and then save the changes.
ExpressLayout Control
-
The IdxLayoutDragAndDropHelper, IdxLayoutItemsHelper, IdxLayoutFontHelper, and IdxLayoutControl helper interfaces have been removed to improve performance. As a result, the TcxGridLayoutView, TdxCustomLayoutControl, and TdxLayoutContainer class declarations and implementations have been updated accordingly.
-
Previously, an AV occurred if the client height or width could not be obtained via the layout control's OccupiedClientHeight or OccupiedClientWidth property. Now these properties return –1 to let you properly handle the error.
ExpressNavBar Suite
Starting from this Build, the ExpressSideBar source files are not shipped with the installer. To convert ExpressSideBar controls to ExpressNavBar controls in your legacy projects, do one of the following:
-
Use a design-time converter available for ExpressSideBar controls in Builds v2011 vol x.x and then upgrade to Build v2012 vol 1. For more information on these conversions, refer to the "Build v2011 vol 1.3" entry in the "Known Issues and Important Changes List" help topic.
-
Manually convert ExpressSideBar controls to ExpressNavBar controls or any other suitable navigation controls.
ExpressPageControl
The TcxPCCloseButtonMode type has been renamed TcxPCButtonMode.
Common Libraries
ExpressEditors Library
-
We have optimized the code of the TcxTreeView, TcxShellTreeView, TcxListView, and TcxShellListView controls and changed their class inheritance to use common classes. As a result, the TcxCustomShellEditContainer class has been removed, and the following classes have changed their ancestor classes.
| Class | New Ancestor |
| TcxCustomTreeView | TcxTreeViewContainer |
| TcxCustomShellTreeView |
| TcxCustomListView | TcxListViewContainer |
| TcxCustomShellListView |
| TcxCustomInnerListView | TcxBaseInnerListView |
| TcxCustomInnerShellListView |
| TcxCustomInnerShellTreeView | TcxBaseInnerTreeView |
| TcxShellIconOptions | TcxIconOptions |
-
Opening forms created with TcxDBNavigator controls v2011 vol 1.4 through 1.7 in the IDE displays the "Error reading <cxDBNavigator>.BorderStyle Invalid property value" error. To successfully continue opening these forms, click Ignore or Ignore All. Starting from v2011 vol 1.8 and vol 2.1, the BorderStyle property is not stored in a .DFM file.
ExpressLibrary
-
The CanShowHint global function has been renamed dxCanShowHint in the cxContainer unit. The following helper interfaces, classes, and functions related to hints have been moved from the cxControls unit to the dxCustomHint unit: IcxHintWindowHelper, IcxHintableObject, TcxHintAnimationStyle, TcxBaseHintWindow, TcxControlHintHelper, cxActivateHint, cxActivateHintData, and cxProcessControlHintInfo.
-
We made a number of changes to date processing classes, types, functions, and constants.
|