Compatibility with Previous Versions

We always try to keep UniDAC compatible with previous versions, but sometimes we have to change the behaviour of UniDAC in order to enhance its functionality, or avoid bugs. This topic describes such changes, and how to revert the old UniDAC behaviour. We strongly recommend not to turn on the old behaviour of UniDAC. Use options described below only if changes applied to UniDAC crashed your existent application.

Values of the options described below should be assigned in the initialization section of one of the units in your project.


The BaseSQL property is similar to the SQL property, but it does not store changes made by AddWhere, DeleteWhere, and SetOrderBy methods. After assigning an SQL text and modifying it by one of these methods, all subsequent changes of the SQL property will not be reflected in the BaseSQL property. This behavior was changed in UniDAC . To restore old behavior, set the BaseSQLOldBehavior variable to True.


If the manually assigned RefreshSQL property contains only "WHERE" clause, UniDAC uses the value of the BaseSQL property to complete the refresh SQL statement. In this situation all modifications applied to the SELECT query by functions AddWhere, DeleteWhere are not taken into account. This behavior was changed in UniDAC . To restore the old behavior, set the BaseSQLOldBehavior variable to True.


Starting with UniDAC , the DataSetChange event is sent after the dataset gets open. It was necessary to fix a problem with disappeared vertical scrollbar in some types of DB-aware grids. This problem appears only under Windows XP when visual styles are enabled.

To disable sending this event, change the value of this variable to False.


Starting with UniDAC , if the OnUpdateRecord event handler sets the UpdateAction parameter to uaFail, an exception is raised. The default value of UpdateAction is uaFail. So, the exception will be raised when the value of this parameter is left unchanged.

To restore the old behaviour, set DoNotRaiseExcetionOnUaFail to True.


Since UniDAC version 5.0.1, the DefaultTransaction transaction property was added. All datasets that use the TUniConnection component, use its DefaultTransaction for all operations under data. In earlier UniDAC versions, all the datasets that used TUniConnection, used implicitly created internal transaction. This transaction always remained open, and it was not possible to control it. To restore the old behaviour, set OldTransactionBehaviour to True.

© 1997-2020 Devart. All Rights Reserved. Request Support DAC Forum Provide Feedback