# Virtual Data Access Components ## History | support@devart.com

14.0.0 17-Sep-25

- Added support for RAD Studio 13 Florence
- Added support for Lazarus 4.2
- Fixed a bug that triggered the "Record/Key deleted" error when deleting a record in the VirtualQuery component
- Resolved an issue with clearing field values in the VirtualQuery component
- Fixed a bug that occurred when loading the VirtualTable component with lookup fields
- Resolved an issue with C++Builder compilation

13.4.1 07-Jul-25

- Added support for Lazarus 4.0
- Fixed a memory leak that occurred when an exception was raised while opening a TVirtualQuery
- Fixed an issue with incorrect query results when using a parameter of type ftGuid in TVirtualQuery
- Fixed an issue with adding new fields to TVirtualTable after calling the DeleteFields method
- Fixed a bug where setting SQL in the Query component changed the case of a parameter name
- Fixed a bug that occurred when calling the FindKey method on a cloned dataset
- Fixed a bug that occurred when reserved words were used as field names in filters

13.4.0 20-Mar-25

- Added support for RAD Studio 12 Athens Release 3
- Added support for the RAD Studio 64-bit IDE
- Added support for Lazarus 3.8
- Added support for the JSON file format in the LoadFromFile method of the VirtualTable component
- Added support for the TurboPack SynEdit package in component editors
- Added support for syntax highlighting in component editors in Lazarus on the Windows platform
- Added the IndentFormat argument to the SaveToXML method of the dataset to decrease file size
- Added the SaveToJSON method for serializing a dataset to the JSON format
- Added the ability to use readonly fields in the SQL Generator at design-time
- Improved work with design-time editors in the High DPI mode
- Fixed a bug with ambiguity between the CRJSON.TJSONObject and System.Json.TJSONObject classes
- Fixed a bug with opening VirtualQuery after modifying the source dataset
- Fixed a bug with the TVirtualTable.Assign method when the VirtualTable has persistent fields

13.3.2 20-Jan-25

- Moved the CRFunctions.CRTimeZoneInformation global variable to the interface section
- Added the CloneCursor method to the VirtualTable component
- Resolved a memory leak issue in the VirtualDataSet component that occurred when Filtered was set to True
- Fixed an issue that caused inaccurate results for aggregate functions when applied to floating-point columns
- Fixed an issue with opening VirtualQuery with a specific FetchRows value
- Fixed a bug that occurred when executing a query containing an ORDER BY clause
- Fixed an issue with the SaveToXML method of the TMemDataSet class and its descendants, which occurred when saving UUID fields
- Fixed a bug that occurred when calling the RefreshRecord method with FullRefresh set to True
- Fixed an issue with processing the Filter property of a dataset that occurred when it included the NOT operation
- Fixed an issue with using subfunctions in a filter

13.3.1 24-Oct-24

- Restored support for RAD Studio 12 Athens Release 1
- Added support for Lazarus 3.6

13.3.0 27-Sep-24

- Added support for RAD Studio 12 Athens Release 2
- Added support for C++Builder 64-bit Windows (Modern) Application Development
- Added support for Lazarus 3.4
- Fixed bug in VirtualQuery with incorrect results of a query containing the IN operator
- Fixed bug in VirtualTable with the "Invalid pointer operation" exception when closing the application

13.2.1 01-May-24

- Now Release 1 for RAD Studio 12 Athens, Delphi 12 Athens, and C++Builder 12 Athens is required
- Fixed internal bug with TSharedObject

13.2.0 24-Apr-24

- Added support for RAD Studio 12 Athens Release 1
- Added support for Lazarus 3.2
- Added voResetAutoInc in the VirtualTable component that allows to reset AutoInc values on Clear
- Fixed bug in VirtualQuery with querying source datasets that contain NULL column values

13.1.0 19-Feb-24

- Added support for Lazarus 3.0
- Fixed bug with empty field values when insert via the VirtualQuery component

13.0.0 15-Nov-23

- Added support for RAD Studio 12
- Added support for macOS Sonoma
- Added support for iOS 17
- Added support for Android 13
- Added support for DBMonitor in the VirtualQuery component
- Added support for storing AutoInc fields when saving TVirtualTable to XML
- Added support for nested Macros in SQL queries
- Added support Display Format for Aggregate fields
- Added SHA-2(SHA-256, SHA-512) in hash algorithm for encryption
- Fixed bug "Assertion failure" when using TVirtualDataSet
- Fixed bug with reading MySQL fields of type "bigint" to TVirtualQuery
- Fixed bug with incorrect results in the TVirtualQuery when COLLATE NOCASE is used
- Fixed bug with a memory leak on closing an application after using TVirtualQuery
- Fixed bug with saving/loading fields with Unicode names in the VirtualTable component
- Fixed bug with assigning a VirtualTable component that has persistent fields
- Fixed bug with editing a source dataset after reopening TVirtualQuery
- Fixed bug with inserting BLOBs using TVirtualQuery
- Fixed bug with moving the cursor when using Aggregate fields
- Fixed bug with deleting a record when using Aggregated fields
- Fixed bug with storing empty Aggregates collection in DFM
- Fixed bug with AV when installing a package in the IDE
- Fixed bug with AV in the CloneCursor method of the dataset
- Fixed bug with using Aggregated and InternalCalc fields together
- Fixed bug with duplicate resource IDs in CBuilder
- Fixed bug with using "NOT Field LIKE" construction in Filter property

12.3.0 17-Mar-23

- Added support for RAD Studio 11 Alexandria Release 3
- Added support for iOS Simulator ARM 64-bit target platform
- Added support for Lazarus 2.2.6
- Added support for the YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, GETDATE, DATE, TIME, TRIM, TRIMLEFT, TRIMRIGHT statements in TDADataSet.Filter
- Added support for the mathematical operations in TDADataSet.Filter
- Added support for Aggregate Fields and InternalCalc Fields
- Improved the execution of statement that have either IS NULL or IS NOT NULL in the WHERE clause with TVirtualQuery
- Now the SetRange will function according to the case sensitivity of keywords in IndexFieldNames
- Fixed bug with AV on using master/detail relationship with VirtualTable
- Fixed bug with loading data that already has persistent fields into VirtualTable

12.2.0 12-Sep-22

- Added support for RAD Studio 11 Alexandria Release 2
- Added support for Lazarus 2.2.2
- Added support for iOS 15
- Added support for Android 12
- Added support of standard collations in a SQL statement in the VirtualQuery component
- Added the CloneCursor method for Query and Table components that allows sharing data between datasets
- Improved the performance of exporting to XML

12.1.1 12-Apr-22

- RAD Studio 11 Alexandria Release 1 is supported
- Lazarus 2.2.0 is supported
- Windows 11 is supported
- macOS Monterey is supported
- Fixed bug with executing batch operations with the VirtualQuery component

12.0.2 09-Dec-21

- Fixed bug with leading spaces getting trimmed in strings loaded from XML in VirtualTable
- Fixed bug with using the AsDate property when working with fields of the ftDate type

12.0.1 13-Sep-21

- RAD Studio 11 Alexandria is supported
- macOS ARM is supported
- Fixed bug with duplicate records when navigating through TVirtualDataSet for which a filter is set
- Fixed bug with persistent fields when saving and then reading data from file to TVirtualTable
- Fixed bug with setting a DateTime value before the year 1800 to TTimeField
- Fixed bug with using a BLOB field in the IndexFieldNames property of the DataSet component
- Fixed bug with escaping wildcards in the Filter property of the DataSet component

11.4.4 14-Jul-21

- Support for TFieldOptions is added
- Bug with the Locate method on ftLongWord fields is fixed
- Bug with AV in the TVirtualTable.Assign method is fixed
- Bug with AV when executing a DELETE FROM statement using TVirtualQuery is fixed
- Bug with corrupted data of a GUID field in TVirtualDataSet is fixed

11.4.3 06-Apr-21

- Bug with assigning a BLOB parameter when the source data is loaded via the TParam.LoadFromStream method is fixed

11.4.2 26-Mar-21

- Lazarus 2.0.12 is supported

11.4.1 02-Mar-21

- RAD Studio 10.4.2 Sydney is supported
- macOS 11 Big Sur is supported
- iOS 14 is supported
- Android 11 is supported
- The UseUnicode option in the VirtualQuery component is added
- Bug with editing a source dataset after opening TVirtualQuery is fixed
- Bug with updting a dataset with fields which contain international characters is fixed
- Bug with processing a WHERE clause is fixed
- Bug with editing a dataset which acts as a data source for the VirtualQuery component is fixed

11.3.2 14-Sep-20

- Now Release 1 for RAD Studio 10.4 Sydney, Delphi 10.4 Sydney, and C++Builder 10.4 Sydney is required

11.3.1 26-Aug-20

- Lazarus 2.0.10 and FPC 3.2.0 are supported

11.2.4 01-Jun-20

- RAD Studio 10.4 Sydney is supported
- Lazarus 2.0.8 is supported
- macOS 64-bit in Lazarus is supported
- Bug with data loss in the column of type ftLargeint in the VirtualTable component in Lazarus is fixed (VirtualDAC)
- Bug with locating a record by a fixed string column in the Chinese locale is fixed
- Bug with LocalMasterDetail when DataTypeMapping is enabled is fixed

11.1.3 10-Mar-20

- Bug with reading a field value using the AsBytes method in Lazarus is fixed

11.1.2 26-Nov-19

- Android 64-bit is supported
- Lazarus 2.0.6 is supported
- Now Trial edition for macOS and Linux is fully functional
- Bug with mapping a MEMO field to a floating-point field type is fixed
- Bug with mapping to BCD fields when TClientDataSet is used is fixed
- Bug with resetting the range values when executing the Refresh method is fixed

11.0.1 22-Jul-19

- macOS 64-bit is supported
- Release 2 for RAD Studio 10.3 Rio, Delphi 10.3 Rio, and C++Builder 10.3 Rio is now required

10.6.14 24-Jun-19

- Lazarus 2.0.2 is supported
- The DefaultSortType property for TVirtualTable is added
- Performance of the SaveToFile/LoadFromFile methods of TVirtualTable is significantly increased
- Bug with handling BLOB fields in TVirtualTable on the Linux platform is fixed
- Bug with attempting to save data to read-only fields when modifying a dataset is fixed
- Bug with the AV failure when executing the Refresh method is fixed
- Bug with calculating percentage in the OnRestoreProgress event in the TDADump class is fixed
- Bug with the StackOverflow exception when using batch operations in CBuilder is fixed
- Bug with using the SetRange method is fixed

10.5.13 21-Jan-19

- Bug with using the datetime literals in SQL statements in TVirtualQuery is fixed

10.5.12 26-Nov-18

- RAD Studio 10.3 Rio is supported
- Support of UPPER and LOWER functions for Unified SQL is added
- Bug with the Refresh method of TVirualQuery is fixed
- Bug with handling BCD fields in TVirtualQuery is fixed
- Bug with updating fields which have data type mapping in TVirtualQuery is fixed
- Bug with saving a dataset that contains BLOB fields to XML is fixed

10.4.11 17-Sep-18

- Automatic detection of the initial value of an AutoInc field in TVirtualTable is supported
- Bug with editing data in TVirtualQuery having TVirtualTable as a source is fixed
- Bug with mapping an error when a query contains functions like SUM is fixed
- Bug with freezing an application when a query contains UNION ALL is fixed
- Bug with updating data in TVirtualQuery is fixed
- Bug with editing data in TVirtualQuery when the SELECT statement contains the ROWID column is fixed
- Several bugs with handling BLOBs in TVirtualQuery are fixed

10.4.10 13-Jul-18

- Bug with detection of field data types is fixed

#### 10.4.9 09-Jul-18

- Lazarus 1.8.4 is supported
- The LocalUpdate property for TVirtualQuery is added
- The AutoOpenSources option for TVirtualQuery is added
- Bug with reading BLOB fields data on mobile platforms in TVirtualTable is fixed
- Bug with using a backslash in the Filter property is fixed

#### 10.3.8 02-Apr-18

- Lazarus 1.8.2 is supported
- Bug with using field aliases in the SELECT of a source dataset of TVirtualQuery is fixed
- Bug with AV failure when ftVariant fields are used in TVirtualDataSet is fixed
- Bug with using OR in the WHERE of a source dataset of TVirtualQuery is fixed
- Bug with a WHERE clause with a boolean field in TVirtualQuery is fixed

#### 10.3.7 18-Jan-18

- Lazarus is supported
- Bug with AutoInc fields in TVirtualTable is fixed
- Bug with AV in TVirtualDataSet when editing Blob is fixed
- Bug with a WHERE clause with a string field in TVirtualQuery is fixed
- Bug with using a query with JOIN as a source dataset for TVirtualQuery is fixed
- Bug with multiple LIKE in a WHERE clause for TVirtualQueryis fixed
- Bug with re-execution of DML statements in TVirtualQuery is fixed
- Bug with querying MS SQL Server source datasets is fixed

#### 10.2.6 19-Sep-17

- The performance of TVirtualQuery is significantly improved
- Application-defined functions in TVirtualQuery are supported
- Application-defined collations in TVirtualQuery are supported
- AutoInc fields in TVirtualTable are supported
- Bug with assertion failure when updating a record in TVirtualQuery is fixed
- Bug with compatibility with TkbmMemTable in TVirtualQuery is fixed
- Bug with complex WHERE clauses that have several string fields in TVirtualQuery is fixed
- Bug with selecting from a dataset with a single record in TVirtualQuery is fixed
- Bug with using DAC components in DataModule for Linux is fixed

#### 10.1.5 15-May-17

- Bug with using TVirtualQuery with TVirtualTable is fixed

#### 10.1.4 05-Apr-17

- RAD Studio 10.2 Tokyo is supported
- Linux in RAD Studio 10.2 Tokyo is supported
- Bug with processing LEFT JOIN on text fields is fixed
- Bug with updating records with text primary key is fixed
- Bug when working with the TBytes and TVarBytes fields in TVirtualTable is fixed
- Bug with memory leak in TVirtualDataSet is fixed

#### 10.0.3 21-Nov-16

- Bug with adding Calculated fields after calling Prepare is fixed
- Bug with reopening source dataset is fixed

#### 10.0.2 01-Nov-16

- Bug with QueryRecCount when ORDER clause contains CASE..END is fixed
- Bug with handling comments in a SQL statement is fixed

#### 10.0.1 08-Sep-16

- VirtualTable is renamed to VirtualDAC
- TVirtualQuery component is added
- TVirtualDataSet component is added

#### 9.7.12 25-Apr-16

- RAD Studio 10.1 Berlin is supported
- Lazarus 1.6 and FPC 3.0.0 is supported
- Bug in Assign method on NULL values in Required fields is fixed
- Bug with HTML entities replacing on XML data loading is fixed
- Bug with setting the SkipUnsupportedFieldTypes option is fixed

#### 9.6.11 09-Sep-15

- RAD Studio 10 Seattle is supported
- Now at automatic refresh of Detail dataset the OnBeforeOpen event is not called
- Bug with editing Blob and Memo fields used in local filter is fixed

#### 9.5.10 17-Jun-15

- Bug with using bookmarks in a filtered dataset is fixed

#### 9.5.9 14-Apr-15

- RAD Studio XE8 is supported
- AppMethod is supported

#### 9.4.8 14-Jan-15

- Lazarus 1.2.6 is supported
- Bug with losing data after VirtualTable closing on SaveToStream is fixed

#### 9.4.7 15-Sep-14

- RAD Studio XE7 is supported
- Lazarus 1.2.4 is supported

#### 9.3.6 31-Jul-14

- Support for the Upper and Lower statements in TDADataSet.Filter is added
- Support for the ftOraTimeStamp type in TVirtualTable is added
- Bug with AV failure on opening TCustomDADataSet when Range was set is fixed
- Bug with "Invalid field size" in TVirtualTable is fixed

#### 9.3.5 29-Apr-14

- RAD Studio XE6 is supported
- Android in C++Builder XE6 is supported
- Lazarus 1.2.2 and FPC 2.6.4 is supported
- An option for saving all data avoiding filter is added
- Bug with Locate when a NULL value is present in the index field is fixed

#### 9.2.4 25-Dec-13

- iOS in C++Builder XE5 is supported
- RAD Studio XE5 Update 2 is now required
- Now .obj and .o files are supplied for C++Builder

#### 9.1.3 18-Sep-13

- RAD Studio XE5 is supported
- Application development for Android is supported
- Lazarus 1.0.12 is supported
- Performance is improved
- Automatic checking for new versions is added
- The ReadOnly property is added
- The voSetEmptyStrToNull option is added
- Support of the IN keyword in the TDataSet.Filter property is added
- Like operator behaviour when used in the Filter property is now similar to TClientDataSet
- The possibility to use ranges is added

#### 9.0.2 15-Jul-13

- Incorrect XE4 behaviour when re-opening a dataset under iOS is fixed
- Bug with time fields in Lazarus is fixed
- Bug with varbinary fields in Lazarus is fixed
- Bug with positioning of Fields Editor is fixed
- Bug with processing persistent fields is fixed

#### 9.0.1 25-Apr-13

- Rad Studio XE4 is supported
- NEXTGEN compiler is supported
- Application development for iOS is supported
- Support of TimeStamp, Single and Extended fields is added
- Bug with incorrect version displaying in the About box is fixed

#### 8.6 14-Feb-13

- Rad Studio XE3 Update 2 is now required
- C++Builder 64-bit for Windows is supported

#### 8.5 07-Nov-12

- Rad Studio XE3 is supported
- Windows 8 is supported

#### 8.2 21-Jun-12

- Update 4 Hotfix 1 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Bug in design time editor with master-detail relationship is fixed

#### 8.1 02-Apr-12

- Lazarus 0.9.30.4 and FPC 2.6.0 are supported
- Bug with saving BCD fields to a Stream is fixed
- Update 4 for RAD Studio XE2, Delphi XE2, and C++Builder XE2 is now required
- Mac OS X in RAD Studio XE2 is supported
- FireMonkey support is improved

#### 8.0 15-Sep-11

- Embarcadero RAD Studio XE2 is supported
- Application development for 64-bit Windows is supported
- FireMonkey application development platform is supported
- Support of master/detail relationship is added
- OnProgress event is added

#### 7.20 15-Jun-11

- Possibility to load data without recreating persistent fields is added
- Working in design time editor is improved
- Lazarus 0.9.30 and FPC 2.4.2 is supported

#### 7.10 10-Mar-11

- Delphi & C++Builder XE Starter Edition is supported

#### 7.00 13-Sep-10

- Embarcadero RAD Studio XE is supported

#### 6.90 10-Sep-09

- Embarcadero RAD Studio 2010 is supported

#### 6.80 27-May-09

- Added distinction between empty string and null value when saving/loading string fields
- Added support for Free Pascal under Linux

#### 6.70 26-Feb-09

- Delphi 2009 and C++Builder 2009 is supported
- Extended Unicode support for Delphi 2007 is added (special Unicode build)
- Free Pascal 2.2 is supported
- Bug with not working CachedUpdates is fixed
- Bug with suppressing errors in LoadFromFile is fixed

#### 6.25 14-Nov-07

- CodeGear RAD Studio 2007 is supported
- Support for TVariantField is added
- Bug with locating variant values is fixed

#### 6.10 02-Aug-07

- C++Builder 2007 is supported
- Bug with adding fields fixed

#### 6.00 20-Apr-07

- Delphi 2007 for Win32 is supported
- LargeInt fields supported
- WideMemo field type in Delphi 2006 is supported
- General performance is improved

#### 5.80 16-Feb-07

- Added support for Professional editions of Turbo Delphi, Turbo Delphi for .NET, Turbo C++
- Bug with AV failure when modifying data in design time is fixed
- Bug with loading wide strings is fixed

#### 5.70 07-Jul-06

- Support for Delphi 2006 is added
- Performance of SaveToFile and LoadFromFile functions is improved (12435)
- Modifying FieldDefs is accelerated
- Bug in the Editor is fixed

#### 5.55 24-Oct-05

- Bug with registration in CBuilder is fixed
- Bug with the Filtered property at design-time is fixed (6881)

#### 5.50 29-Apr-05

- Support for Delphi 2005 is added
- Update Pack 3 is required for Delphi 8
- Bug at design-time is fixed (6159)
- Bug with boolean fields is fixed (5291)

#### 5.10 10-Sep-04

- Bug with large blobs is fixed (4769)

#### 5.00 09-Apr-04

- Support for Delphi 8 is added

#### 4.00 08-Oct-02

- Delphi 7 support is added
- Bug with opening and editing is fixed (2044)

#### 3.90 03-Sep-02

- Support for Kylix 3 is added

#### 3.60 18-May-02

- Bug with empty strings is fixed (1198)
- Bug with adding columns is fixed (1055)

#### 3.50 14-Dec-01

- Support for Kylix 2 is added

#### 3.00 20-Feb-01

- Support for Kylix is added

#### 2.20 30-Mar-00

- Support for C++ Builder 5 is added

#### 2.00 14-Oct-99

- Smart refreshing is added

#### 1.00 01-Mar-99

- Initial release of VirtualTable

© 1997-2025 Devart. All rights reserved.