581 Class not registered.

Problem: Getting error "Class not registered."

When trying to set the working directory from ProjectViewer.
Date: 11 January 2006
Versions: P9
Environment: Win2000, Win XP
More symptoms:
The error is followed by "Access violation at address 00000000" and then about 20 more of those and then some more access violations, one of them in "pdxvwr32"

Cause verified by: Rodney Wise
You have a file with a .XML extension or maybe any other non Paradox extension in that directory.

My comments
In Rodney's case,
HKEY_CLASSES_ROOT\xmlfile\ShellEx\IconHandler\(Default)
pointed to a CLSID, eg "{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}"

That CLSID should have had an InProcServer32 defined in any of the two registry keys shown below:
HKEY_CLASSES_ROOT\CLSID\{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}\InProcServer32
HKEY_CURRENT_USER\CLSID\{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}\InProcServer32

My suggested workaound is that if
HKEY_CLASSES_ROOT\CLSID\{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}\InProcServer32
is missing, you should remove the reference from
HKEY_CLASSES_ROOT\xmlfile\ShellEx\IconHandler\(Default)
@="{AB968F1E-E20B-403A-9EB8-72EB0EB6797E}"

To index