On sunday i uodated my aplication and tested it ok, on monday i changed a line in a scx form and now the exe gives the error
"One or more required indexes is missing from your metatable"
doc_open
doc_new
doc_descr
doc_type
deleted()
It's clear you used the Application Wizard of VFP.
That cretes a project with one free table. Whatever you named the project +_app.dbc.
It'll be in the property cmetatable of the app_application class.
You see this table has these indexes."isdel" is the index on deleted().
When they're missing, you manipulated this table ´, by intention or not. The EXE checks, if the table has its indexes and refuses to continue without them. For a good reason, the code will make use of the indexes for sure, and fail without them.
It's in the main VFP IDE menu: Tools-> Wizards->Application.
If the indexes are lost, you likely don't have the CDX file of the dbf, or is there one? Without even the header of it REINDX won't recreate the indexes. Then you'd need the individual INDEX commands. Well, it's a sure shot the application wizard does it the way it's expected.
Don't, just don't index your DBF. Just create a new one. It doesn't matter what details you enter into the dialogs of the application wizard, the metatable always has the same structure. So then you have a healthy table with indexes and can fill it with the data of your projects dbf, which lacks indexes. You end up with the right structure including indexes and your current metatable data. That's the best fix you get. I would not do it any other way.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.