Microsoft KB Archive/171272: Difference between revisions

From BetaArchive Wiki
m (Text replacement - "<" to "<")
m (Text replacement - """ to """)
 
(One intermediate revision by the same user not shown)
Line 57: Line 57:
An application error has occurred and an application error log is being generated.<br />
An application error has occurred and an application error log is being generated.<br />
VFP.exe<br />
VFP.exe<br />
Exception: access violation <error number&gt;, Address: <memory address&gt;.
Exception: access violation <error number>, Address: <memory address>.


</div>
</div>
Line 93: Line 93:
<pre class="codesample">      CLEAR
<pre class="codesample">      CLEAR
       SET SAFETY OFF
       SET SAFETY OFF
       USE HOME()+&quot;samples\data\customer.dbf&quot; EXCLUSIVE
       USE HOME()+"samples\data\customer.dbf" EXCLUSIVE
       COPY TO HOME()+&quot;Ztest.dbf&quot; TYPE FOX2X
       COPY TO HOME()+"Ztest.dbf" TYPE FOX2X
       SET SAFETY ON
       SET SAFETY ON
       CLOSE ALL
       CLOSE ALL
       USE HOME()+&quot;Ztest.dbf&quot;
       USE HOME()+"Ztest.dbf"
       DELETE ALL FOR RECNO() < 10
       DELETE ALL FOR RECNO() < 10
       USE
       USE
       SET DELETED ON
       SET DELETED ON
       SELECT * FROM HOME()+&quot;Ztest&quot; INTO ARRAY Zjunk
       SELECT * FROM HOME()+"Ztest" INTO ARRAY Zjunk
       ? ALEN(zjunk)
       ? ALEN(zjunk)
       USE
       USE

Latest revision as of 11:05, 21 July 2020

Article ID: 171272

Article Last Modified on 8/14/1999



APPLIES TO

  • Microsoft Visual FoxPro 5.0 Standard Edition



This article was previously published under Q171272

SYMPTOMS

Using a SQL-SELECT statement to populate an array from a FoxPro 2x table containing deleted records with DELETED set on causes the operating system to close Visual FoxPro 5.0.

When running under Windows 95, the following error appears:

This program has performed an illegal operation and will be shut down.

In Windows NT 4.0, the following error appears:

An application error has occurred and an application error log is being generated.
VFP.exe
Exception: access violation <error number>, Address: <memory address>.

In both cases, the operating system then closes Visual FoxPro.

RESOLUTION

Do not issue a SET DELETED ON command and simply rewrite the SQL-SELECT statement, as in the following example:

   SELECT * FROM ZTEST INTO ARRAY Zjunk WHERE DELETED()=.F.
                

-or-

   SELECT * FROM ZTEST INTO ARRAY Zjunk WHERE !DELETED()
                

Also, the results of the SQL-SELECT statement could be directed to a destination other than to an array.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been corrected in Visual FoxPro 5.0a and does not occur in Visual FoxPro 3.x.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Run the following code in a program file or line by line from the Visual FoxPro Command window:

          CLEAR
          SET SAFETY OFF
          USE HOME()+"samples\data\customer.dbf" EXCLUSIVE
          COPY TO HOME()+"Ztest.dbf" TYPE FOX2X
          SET SAFETY ON
          CLOSE ALL
          USE HOME()+"Ztest.dbf"
          DELETE ALL FOR RECNO() < 10
          USE
          SET DELETED ON
          SELECT * FROM HOME()+"Ztest" INTO ARRAY Zjunk
          ? ALEN(zjunk)
          USE
                                


Keywords: kberrmsg kbbug kbfix kbvfp500afix KB171272