Главная страница | назад





Article #25187: An EDatabase Exception is generated by a Delphi or C++ Builder application

Problem:
A Delphi generated application is generating an EDatabase exception.
Solution:
An exception was generated in the Delphi application code, or in the Delphi VCL Source code.
To locate the cause of the exception do the following steps from within the Delphi development
environment:
Set the "Break on exception" checkbox and the "Integrated debugging" checkbox in the
Tools | Options | Preferences menu to checked. In Delphi 1.0 the menu choices are:
Option | Environment | Preferences. Run the "Build All" in the Project menu to generate
debug information. Run the application and repeat the steps that produced the EDatabase
exception.
When the error occurs and the cause is not obvious from within the application
source code it is possible to go inside the VCL source code and have the debugger
stop the application on the line of the VCL source that generates the EDatabase
exception. To do this requires having the Enterprise or Client/Server edition of Delphi or C++ Builder.
If these versions of are not owned, obtaining the source code to the VCL
components requires upgrading to the versions of Delphi mentioned above, or
purchasing the RTL source code.
To do either of the two choices consult the Borland Website at www.borland.com
for the Borland Customer Service phone number.
To use the VCL source code to further tack down the source of the EDatabase exception
do the following:
Look up the help topic for the component that is generating the error. On this page
in the upper left is a line that says "Unit". On the line underneath is the source
file that contains the VCL source. Copy the source file noted on the help page from
the Program FilesDelphiSourceVcl directory to the application directory.
Copy the files db.pas and dbtables.pas as well, since these files are
used extensively by the TDatabase, TTable and TQuery components. Repeat the steps
above for reproducing the exception.

Last Modified: 29-SEP-00