Q129646: FIX: Error Routine Not Called for USE Command

Article: Q129646
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,3.0b
Operating System(s): 
Keyword(s): kbvfp kbvfp300bBUG kbvfp500fixkbbuglist kbfixlist
Last Modified: 24-MAR-2000

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b 
-------------------------------------------------------------------------------

SYMPTOMS
========

Visual FoxPro will not trap for the error caused by trying to open a table that
is part of a corrupted database.

Usually, the "USE customer" command will open the table and the database that the
table is part of. If the Database is corrupt, the following message is
displayed:

  

  The database for table C:\..\CUSTOMER.DBF could not be opened. Would you
  like to try to locate the owning database or delete the link (and free
  the table). Locate   Delete    Cancel

In a program with an error routine, the error routine is not called, and the
above message is still displayed. Selecting Cancel ends the program.

RESOLUTION
==========

Do not open a table that is part of a database without first opening the
database. Then you can trap for the error generated by trying to open a corrupt
database.

STATUS
======

Microsoft has confirmed this to be a problem in the Microsoft products listed at
the beginning of this article. This problem has been fixed in Visual FoxPro 5.0
for Windows.

MORE INFORMATION
================

Steps to Reproduce Problem
--------------------------

Corrupt the TESTDATA database by opening it as a table and deleting the first
record. Run the following program:

     SET DEFAULT TO C:\VFP\SAMPLES\DATA
     ON ERROR DO errhand WITH ERROR(), MESSAGE()

     USE customer

     ON ERROR

     PROCEDURE errhand
     PARAMETERS  errno, errmsg
     WAIT WINDOW STR(errno)+" "+ errmsg
     RETURN

Additional query words: 3.00 3.00b free

======================================================================
Keywords          : kbvfp kbvfp300bBUG kbvfp500fix kbbuglist kbfixlist
Technology        : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b
Version           : WINDOWS:3.0,3.0b
Issue type        : kbbug
Solution Type     : kbfix

=============================================================================