FIX: ASCAN() Fails to Find Integer Value when Called in a Loop (162673)
The information in this article applies to:
- Microsoft Visual FoxPro for Windows 5.0
This article was previously published under Q162673 SYMPTOMS
The ASCAN() function may sometimes fail to find an integer value that is
present in the searched array when values within the searched array are
changed in an iterative loop.
RESOLUTION
As a workaround, you can convert a value in the scanned array to a
character string, then back to a numeric data type, before issuing the
ASCAN() function.
laarraysearched[1] = STR(laarraysearched[1])
laarraysearched[1] = INT(VAL(laarraysearched[1]))
This must be done in two separate program lines, not all in a single line
as in the following:
laarraysearched[1] = INT(VAL(STR(laarraysearched[1])))
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This problem has been fixed in Visual
FoxPro 5.0a.
MORE INFORMATION
The ASCAN() function should return an element number if the value scanned
for is contained in the scanned array. Under specific circumstances,
ASCAN() may return a 0 (that is, the value is not found) when seeking an
integer value if the searched array has been repeatedly repopulated within
an iterative loop. Under these circumstances, ASCAN() functions properly in
Visual FoxPro 3.0b.
Modification Type: | Major | Last Reviewed: | 2/5/2000 |
---|
Keywords: | kbbug kbprogramming kbvfp500aFIX kbvfp500fix KB162673 |
---|
|