I don't see any differences in VFP6, 7, or 8. I get a filtered cursor on each. I can duplicate the behavior you describe by using SET DELETED ON, perhaps you have that in your VFP7 and VFP8 installations, but not in VFP6.
SET DELETED ON
?set('deleted')
CREATE CURSOR TEST (n I)
nCycle=100000
FOR I=1 TO m.nCycle
INSERT INTO TEST (n) VALUES (RAND()*m.nCycle)
NEXT
INDEX ON n TAG nix
? RECCOUNT()
SELECT * FROM TEST WHERE n>100 INTO CURSOR Filtered
? RECCOUNT(),_TALLY,FILTER()
>Hi,
>
>run this code in VFP6SP5,VFP7SP,VFP8.
>
>
>CREATE CURSOR TEST (n I)
>nCycle=100000
>FOR I=1 TO m.nCycle
>INSERT INTO TEST (n) VALUES (RAND()*m.nCycle)
>NEXT
>INDEX ON n TAG nix
>? RECCOUNT()
>SELECT * FROM TEST WHERE n>100 INTO CURSOR Filtered
>? RECCOUNT(),_TALLY,FILTER()
>
>
>On VFP6SP5 Filtered is a filtered cursor of test,
>then any changed on TEST is see on Filtered.
>
>On VFP7SP,VFP8 Filtered is a table cursor,
>like if you use NOFILTER clause,
>and changed on TEST is not see on Filtered,
>then any old program can change result randomly.
>
>Is it a new behaviour of VFP7 and VFP8 ?
>
>I can't found documentation on this.
>
>Never surprise, it is normal for VFPT change function without document it.
>
>Fabio
Jim Saunders
Microsoft
This posting is provided “AS IS”, with no warranties, and confers no rights.