I noticed a couple of people asking for help on this. Could you please tell me why my program might continually corrupt an index? I find that when I am going about entering information into the table, I exit the application and come back in I always get this error and don’t know how to stop it from occuring. Am I missing a crutial step in properly closing the tables that could cause this?
Are you closing and freeing the table before you close? While implicit destruction of objects is perfectly legal, I’ve found that with respect to data access objects, you need to free them explicitly in the FormClose method. For instance:
Table1.Close; //Disconnect from the BDETable1.Free; //Free the resource
Data Access components have an annoying habit of leaving themselves in memory if you don’t explicitly free them.
In your case, the result is that you actually may not have a corrupt index. But because another copy of the table is already in memory, your program sees this as a conflict.