Richard,
A GPV violation is a standard Windows error that appears when a program tries to refer to an object or a variable that is no longer defined or available in memory. Usually, it's a mistake by the programmer.
There are several causes, many of which should be handled by Paradox. Unfortunately, not all of these issues are handled by Paradox and older versions tend to raise more of these than more recent versions of the product.
Some of these can be avoided, however, not all can. The most common causes I've seen include:
1) Opening forms with stylesheet problems (which you've checked).
2) Opening forms (or reports) containing saved filters or ranges.
To check for this:
1. Open the document in Design mode.
2. Choose Format | Filter.
3. Clear any values that appear in the Filter on Fields panel.
4. Click the Range button.
5. Remove any values that appear in the Field Values panel.
6. Choose OK to close the Range dialog.
7. Choose OK to close the Format Filter dialog.
8. Save the document.
9. Close the document and try to open it again.
3) Opening documents containing corrupted tables and/or indexes (especially linking indexes). Utilities | Table Repair to verify every table in a document's data model. Rebuild as needed.
IMPORTANT: Be sure to verify any tables references by the table(s)'s properties, such as table lookups and referential integrity members.
You can't detect corrupt indexes; you can only delete all indexes and then re-create them manually.
Note that the document must be closed before its tables can be verifies or rebuilt.
4. Starting Paradox when documents containing corrupted tables and/or indexes. In this case, you can usually start Paradox by adding the
-nec command-line parameters to the shortcut. See
for a description of these options.
There are a number of other situations. When you get a GPV error, look for a Details button and click it for the complete error message, which usually includes a memory address and the name of the module that triggered the error. The memory address is periodically useful, but not always. More useful is the name of the module.
If you continue to receive these errors, please try to determine the name of the module raising the error. That may help us figure out the actual problem.
Hope this helps...
-- Lance