FIX: After FLUSH, Loss of Power May Still Corrupt Table

ID: Q115290

2.50b MACINTOSH kbprg kbfixlist kbbuglist kberrmsg

The information in this article applies to:

SYMPTOMS

Even after the FLUSH command is issued, if the system loses power, a table that has just been written to may become corrupted, causing the following error message to appear:

   Memo file is damaged.

When you choose either the Cancel or Repair button, the following message is displayed:

   Not a table/DBF.

STATUS

Microsoft has confirmed this to be a problem in FoxPro 2.5b for Macintosh. This problem was corrected in FoxPro 2.5c for Macintosh.

MORE INFORMATION

NOTE: In FoxPro 2.5c for Macintosh, the FLUSH command makes an additional system call that writes closed files to the volume (hard disk).

Steps to Reproduce Problem

CAUTION: TURNING OFF YOUR MACINTOSH IN THE MANNER DESCRIBED BELOW MAY DAMAGE OR CORRUPT DATA ON YOUR VOLUME (HARD DISK).

These steps assume the following:

1. Create a program containing the following code:

      USE "Macintosh HD:\FoxPro\Sample\Laser\DATA\LASER.DBF" NOUPDATE
      COPY TO "Macintosh HD:\TEST\test.dbf"
      SET DEFAULT TO "Macintosh HD:\TEST"
      USE test.dbf
      COPY TO test2.dbf
      APPEND FROM test2.dbf
      APPEND FROM test2.dbf
      APPEND FROM test2.dbf
      APPEND FROM test2.dbf
      APPEND FROM test2.dbf
      FLUSH
      USE

2. Run the program.

3. As soon as the program finishes, and the Command window becomes active

   (has the focus) again, turn off the power. If your Macintosh has an Off
   button, press it. Otherwise, disconnect the power cord.

4. Restart the Macintosh, and then start FoxPro.

5. Type the following in the Command window:

      SET DEFAULT TO "Macintosh HD:\TEST"
      USE test.dbf

You will see the error messages described in the "Symptoms" section above.

Additional reference words: FoxMac 2.50b buglist2.50b fixlist2.50c errmsg err msg quit damaged KBCategory: kbprg kbfixlist kbbuglist kberrmsg KBSubcategory: Solution Type : kbfix

Last Reviewed: October 20, 1997