Article: Q189773
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,3.0b,5.0,5.0a;
Operating System(s):
Keyword(s):
Last Modified: 24-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a
-------------------------------------------------------------------------------
SYMPTOMS
========
When you write a program or procedure containing an IF expression that evaluates
a property or method reference using the "." (dot) operator within a
WITH/ENDWITH construct and you attempt to run or compile the code, you might get
one of the following errors:
Command contains unrecognized phrase/keyword.
Data type mismatch.
RESOLUTION
==========
Include a full object reference in the IF line, rather than the "." operator
reference that is normally used with the WITH/ENDWITH.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This has been corrected in Visual FoxPro 6.0.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
1. Copy the following code into a program (.PRG) file:
PUBL ox
ox = CREATEOBJECT('form1')
ox.Show()
DEFI class form1 as form
cProperty = "XXX"
PROC init
WITH This
IF NOT 'XXX' $ .cProperty
ENDIF
ENDWITH
ENDDEFINE
2. Compile or attempt to run the code.
RESULT: In Visual FoxPro 5.0x, the following error appears:
Command contains unrecognized phrase/keyword.
In Visual FoxPRo 3.0x, the following error appears:
Data type mismatch.
To make the code compile and run without error in each version, change:
IF NOT 'XXX' $ .cProperty
-to-
IF NOT 'XXX' $ this.cProperty,
Additional query words: kbVFp300bbug kbVFp500abug kbVFp600fix
======================================================================
Keywords :
Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b kbVFP500 kbVFP500a
Version : WINDOWS:3.0,3.0b,5.0,5.0a;
Issue type : kbbug
Solution Type : kbfix
=============================================================================