dbExpress Framework Compatibility

From RAD Studio
Jump to: navigation, search

Go Up to Developing Database Applications for the Win32 Platform Index


Some dbExpress software developed prior to the dbExpress driver framework (DBX driver framework) has been modified to work with the DBX driver framework. As a result of these changes, some compatibility issues arise.

General

dbExpress 2.5 drivers cannot be used with the DBX framework.

The dbExpress framework does not provide 100% compatibility with dbExpress 3.

dbExpress 3 drivers can be used with the DBX framework. The DBX framework driver loader automatically detects dbExpress 3 drivers and uses the DBXAdapter driver (dbxadapter30.dll) to make a dbExpress 3 driver look like a dbExpress 4 driver.

Here is a list of known compatibility issues:

  • Static driver linkage. You cannot statically link dbExpress drivers into an executable.
  • SqlExpr.TSQLConnection provided protected access to the Connection member that was of type TISQLConnection only in the native version of SqlExpr.pas. This was omitted from the managed version due to the complexity of how PInvoke was used in the managed version of the dbExpress VCL. SqlExpr.TSQLConnection now provides protected access to a Data.DBXCommon.TDBXConnection instead. This protected connection is accessible to both native and managed applications.
  • The event for trace monitoring is slightly different because it is based on the DBX driver framework.
  • The DBXadapter driver can adapt dbExpress 3 drivers to dbExpress 4, but not dbExpress 2.5 drivers.

VCL issues

Most applications using dbExpress VCL components should work without modification. However, there are some localized changes to VCL components due to VCL now interfacing to the more object oriented DBX driver framework instead of the C-like COM-based dbExpress 3 driver interface.

In addition, the API has changed slightly for two of the VCL components: Data.SqlExpr.TSQLConnection and Data.SqlExpr.TSQLDataSet. Some data structures have also changed. A summary of the API changes follows.

Note: Because of API changes, you must recompile SqlExpr.pas, which is provided with the product. The DBXpress unit has been deprecated.

See Also