We have an issue with the Devart dbExpress drivers for PostgreSQL in one of our BPLs under Delphi 7. In order to access the extended connection properties, we need to use the TCRSQLConnection component defined in the CRSQLConnection.pas unit in the dclcrdbx70.bpl package.
This is a major problem because dclcrdbx70.bpl seems to be behaving as both a design-time and runtime component. dclcrdbx70.bpl requires the following BPLs and all of their associated dependencies:
* dbexpress70.bpl
* dbrtl70.bpl
* dcldb70.bpl
* dcldbx70.bpl
* designdgm70.bpl
* rtl70.bpl
* vcl70.bpl
* vclactnband70.bpl
* vcldb70.bpl
We should NOT have any design-time-only packages appearing as runtime dependencies. I have checked the configuration of dclcrdbx70.dpk and it does seem to be configured as a design-time only package. I have even tried recompiling the package, but we still wind up with dclcrdbx70.bpl as a runtime dependency for our BPL.
Note that the TCRSQLConnection component seems OK to use in an executable (as opposed to a BPL) because one has the option of simply not using dclcrdbx70.bpl as a runtime package so the unit is compiled into the executable.
We were hoping to convert our Delphi 7 application suite to Devart prior to migrating to Delphi 2010, so any help would be much appreciated.
Thanks,
Alex.
dclcrdbx70.bpl is required by our Delphi 7 BPL at runtime
I have managed to resolve the problem by splitting the dclcrdbx70.bpl package into separate runtime and design-time packages (crdbx70.bpl and dclcrdbx70.bpl respectively).
The runtime package does not have any design-time package dependencies and can be deployed with our BPL.
None of the Devart code units needed changing, but the CRSQLConnection.pas code unit has been moved from the dclcrdbx70.bpl design-time package to the new crdbx70.bpl runtime package.
If anyone is interested, the an installer with new BPLs and revised project files for Delphi 7 can be found at http://www.trentham.net.au/downloads/ABRI%20Devart%20Fix%20setup.exe
Hopefully, we won't be using Delphi 7 for too much longer and won't have any need for the TcrSQLConnection component for the more recent versions of Delphi.
Regards,
Alex.
The runtime package does not have any design-time package dependencies and can be deployed with our BPL.
None of the Devart code units needed changing, but the CRSQLConnection.pas code unit has been moved from the dclcrdbx70.bpl design-time package to the new crdbx70.bpl runtime package.
If anyone is interested, the an installer with new BPLs and revised project files for Delphi 7 can be found at http://www.trentham.net.au/downloads/ABRI%20Devart%20Fix%20setup.exe
Hopefully, we won't be using Delphi 7 for too much longer and won't have any need for the TcrSQLConnection component for the more recent versions of Delphi.
Regards,
Alex.