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





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