PRB: Conditional IF Incorrectly Evaluates as True

Last reviewed: June 27, 1995
Article ID: Q114789
The information in this article applies to:
  • Microsoft FoxPro for Windows, versions 2.5x, 2.6, 2.6a
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5x, 2.6, 2.6a
  • Microsoft FoxPro for Macintosh, versions 2.5b, 2.5c

SYMPTOMS

If you use the following conditional statement, which has a mistyped AND condition, the latter parts of the conditional are treated as comments, which causes the overall expression to evaluate erroneously:

   IF X=.T. AMD Y=.T.

This line will evaluate as true even if Y=.F.

CAUSE

FoxPro looks at "AMD", decides it is not "AND" or "OR", and assumes it is the beginning of a comment. It therefore stops evaluating the expression, which makes FoxPro see the expression as:

   IF X=.T. &&AMD Y=.T.

MORE INFORMATION

FoxPro allows comments without "&&" at the end of some commands. This behavior is not expected to change in the future.

To find typing errors in FoxPro for Windows, you can use the spelling checker by choosing Spelling from the Text menu.


Additional reference words: FoxMac FoxDos FoxWin 2.00 2.50 2.50a 2.50b
2.50c 2.60
ANS ANF
ANE
typo misspelling 2.60a
KBCategory: kbprg kbprb
KBSubcategory: FxprgGeneral


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 27, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.