Frank,
I cannot reproduce it, but I suppose it's just a
misunderstanding of
the `BlockRead' semantics. If the 4th parameter is
given, it doesn't
have to read the whole buffer because the 4th
parameter tells how
many were read.
I always thought that forth parameter in 'BlockRead' contains information how much units was read. How much to read is controlled by the third parameter.
Newertheless your code works fine - it just make one more loop on the eof.
I'm still interest what prevent to fill the full buffer (512 bytes) on this magic poiner 16384. I've debugged this sample and found that with big files the second magic spot appears somewhere about 100773 filepos. But it's may vary.
Thanks, Peter
__________________________________ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html