Microsoft does confirm the bug, and here is their test and answer.
CLEAR
nTestVal = 1
FOR nLength = 1 TO 254
CREATE CURSOR moncursor (Testfield c(nLength))
INSERT INTO moncursor (Testfield) VALUES (TRANSFORM(nTestVal))
ALTER TABLE moncursor ALTER COLUMN Testfield i
IF Testfield # nTestVal
? nLength, Testfield
ENDIF
ENDFOR
The bug shows with fieldlengths of 25 to 44 and 226 (go figure).
It is independent of the field value.
It only happens with conversion to INTEGER, other numeric fieldtypes (Y,B,N)
are clean
The VAL() function is not infected.
The bug first manifests in VFP8, where (strangely) only a fieldlength of 27
is problematic.
VFP 3, 5, 6, and 7 are clean.>I'm not sure if this is the right place, or if this has been posted before, but I noticed what I deem to be a bug in VFP9.0. The following code does not give the same result in VFP8.0 (or VFP7.0)
>
>
CREATE CURSOR moncursor (reference c(30))
>INSERT INTO moncursor (reference) values ('1064')
>ALTER table moncursor alter COLUMN REFERENCE i
>BROWSE normal