>With VFP8, ADIR will not accept more than about 16000 files, AFAIR. You must use SYS(2000).
>
I know, and the limit is even less 13000 files. (65000 elelements in the array). Let me read up on SYS(2000).
>>Hi everybody,
>>
>>I'm using ADIR on a big directory to get files by a certain mask. We're getting "invalid subscript reference" error. I would assume, that if the array exceeds the VFP limits I would get a different error. I scanned through the code and the code always looks like
>>
>>
>>lcCheck = SUBSTR(m.lcStyle, 1, AT(m.lcNumberPart, m.lcStyle) + LEN(m.lcNumberPart) - 1)
>> IF ADIR(laFiles, m.HomeImg + m.lcCheck + "*." + m.tcExt) >=1
>> FOR lnI = 1 TO ALEN(laFiles,1)
>> lcEnd = STRTRAN(JUSTSTEM(laFiles[m.lnI,1]), m.lcCheck, "")
>> IF EMPTY(m.lcEnd) OR ISALPHA(m.lcEnd)
>> lcFile = m.HomeImg + laFiles[m.lnI,1]
>> EXIT
>> ENDIF
>> NEXT
>> ENDIF
>>
>>e.g. I always check, if ADIR returns one or more elements and then access the file name using lnI,1 in the FOR loop. I don't see how this may produce the above error.
>>
>>I used ADIR in several parts of the program the same way.
>>
>>Do you think, this error is misleading and may be result of too many files? But I always use a mask...
If it's not broken, fix it until it is.
My Blog