> Once a form fails to instantiate, I need to find out if the OCX is registered. If I understood your suggestion, it trapped for all instantiation failures, not just failure due to unregistered OCX.
Why did you understand it in this way? :)
The key to the problem is to verify that all needed OCXs are registered BEFORE trying to instantiate the form, not AFTER. And this is what I said in that message. Ie:
1. Check that all needed OCXs are registered:
lbRegistered = .t.
ON ERROR lbRegistered = .f.
ox = CreateObject("AControl.AControl.1")
IF NOT lbRegistered
ENDIF
ON ERROR
2. If all OCXs are now registered, instantiate your form
Vlad