FIX: Index Tag on DELETED() Causes "Bnormal Program..."

ID: Q117560

2.5x 2.6x | 2.5x 2.6x

MS-DOS    | WINDOWS

The information in this article applies to:

SYMPTOMS

If you are using the INDEX ON DELETED() TAG command, subsequent operations cause "bnormal Program Termination - Memory Protection Fault" error messages in FoxPro for MS-DOS or general protection (GP) faults in FoxPro for Windows.

NOTE: The error message "bnormal Program Termination - Memory Protection Fault" is shown as it is displayed on the screen.

RESOLUTION

The errors will no longer occur if you remove the references to INDEX commands on the DELETED() function.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Visual FoxPro 3.0 for Windows.

MORE INFORMATION

Steps to Reproduce Problem

Create and run a program that contains the following code:

   CREATE TABLE dbfa (a1 C(10))
   CREATE TABLE dbfb (b1 C(10))
   CREATE TABLE dbfc (c1 C(10))

   SELECT dbfc
   INDEX ON DELETED() TAG deleted

   FOR x=1 TO 200
        INSERT INTO dbfa (a1) VALUES (STR(x))
   ENDFOR

   CLOSE DATABASES

   USE dbfa IN 1
   USE dbfb IN 2
   USE dbfc IN 3

   SET DELETED ON

   SELECT DISTINCT a1 FROM dbfa ;
        WHERE NOT EXISTS (SELECT * FROM dbfb WHERE b1=a1) ;
        OR EXISTS (SELECT * FROM dbfc WHERE c1=a1)

Additional reference words: FoxDos FoxWin VFoxWin 2.50 2.50a 2.50b 2.60 2.60a abnormal Fixlist3.00 errmsg err msg gpf buglist2.50 buglist2.50a buglist2.50b buglist2.60 buglist2.60a KBCategory: KBSubcategory: FxenvMemory
Keywords          : kberrmsg FxenvMemory 
Version           : 2.5x 2.6x | 2.5x 2.6x
Platform          : MS-DOS WINDOWS
Solution Type     : kbfix

Last Reviewed: May 22, 1998