I have developed an application in Delphi 3.0 Client/Server Suite. It reads and validates records from an Access 95 database and then writes to AS400. The software processes 606 records and then reports a runtime error:
INVALID FILE POINTER
and on exit by runtime error:
EXCEPTION EACCESS VIOLATION IN MODULE CCIBATCH.EXE AT ADDRESS00002E10. ACCESS VIOLATION AT ADDRESS 00402E10 IN MODULE'CCIBATCH.EXE'. READ AT ADDRESS 008207FC.
The error only occurs after processing 605 records and is volume/memory related. I have used BDE 4.0 and 5.0, but the problem remains. Can you help?
Not knowing the actual code that might be causing the error, it looks like you might have to isolate the read and write operations to find out where the problem actually occurs. See if you can read through the Access database without doing a write to the AS400. After that, make your program write to the AS400 (assume that your data has been validated). The problem area should then be more evident.
Aside from that, since the problem occurs in the same place, it’s possible that you might have a bad block in your Access table.