>I cannot open table because CDX is corrupted. Then I need delete CDX to be able to open table. Now I wonder how to recreate all indexes, because I don't know what were the index fields and names. There is a way to proceed?
Well, the following strategy won't help you in the short term, but consider it for the future.
I do all my database changes in an empty copy of the database; i.e., a copy that has zero records in each table.
Then, I do my testing in another copy of the database. Yet another copy is the shared copy on the network, used by the users.
For both cases (programmer's copy, user's copy), I have a procedure that merges the empty structure with existing data, basically doing an APPEND FROM for each table. (It helps to disable RI - I use TaxRI. It also helps, for speed reasons, to do the APPEND FROM only for tables whose structure actually changed - but this is somewhat complicated; lots of things to check.)
In the case of indices, those are unlikely to get corrupted in the empty structure.
But the main reason I work this way is that it is quite easy to update almost any kind of change to the official database.
Note: I will not publish my procedure, since it relies heavily on code in the (copyrighted) framework I use.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)