[fpc-pascal]Runtime error 87

Hans MÃ¥rtensson hm at os.dk
Mon Jun 16 17:53:28 CEST 2003

At 16:13 16-06-2003 +0200, you wrote:
>At 12:00 11/06/2003 +0200, you wrote:
>>The FreePascal User's guide has a list of the possible run time errors. But
>>what if you encounter an error that is not on the list?
>>Right now I would like to know the meaning of run time error 87.
>>(Generated by a win32 program and possibly caused by a lot of calls to the
>>seek funktion?)
>>Hans Maartensson
>This error code isn't new to me. It hits me when i tried to read/seek from 
>a file bigger than 2Gb. The error showed only when i tried to work with the 
>file, not when opened it. Breaking the file in smaller chunks solutioned 
>the problem.
I think you have hit the point. The error occured for me in a program that
had a lot of calls to the seek procedure with a large file. I worked around
the problem by letting the program read a chunk of the file to the memory
and then pick the data to be used from memory, before reading a new chunk.
I thought at first that I could tell the OS which data I wanted and then
let the OS figure out how much reading from disk to buffers were necessary.
But it looks like Windows cannot handle a lot of requests and/or large files.

Hans Maartensson

More information about the fpc-pascal mailing list