dclcrdbx70.bpl is required by our Delphi 7 BPL at runtime

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for PostgreSQL in Delphi and C++Builder
Post Reply
ipai
Posts: 18
Joined: Mon 01 Nov 2010 00:46

dclcrdbx70.bpl is required by our Delphi 7 BPL at runtime

Post by ipai » Sun 09 Jan 2011 20:33

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.

ipai
Posts: 18
Joined: Mon 01 Nov 2010 00:46

Post by ipai » Sun 09 Jan 2011 23:55

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.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Tue 11 Jan 2011 13:10

Hello,

Thank you for the information.
We will investigate the possibility of changing this package.
We will notify you as soon as we have any results.

Post Reply