It is still possible that you have some setfocus() somewhere early in the code, which may trigger an .activate even before all the controls are up. So what Jim is saying may still apply.
>Sorry, now I see that I didn't describe a situation properly. 'Topic' is ActiveX which is placed on a form in design time. My point was that it should be already created with proper object handle before Activate comes. When I activate/deactivate a form which is already on a screen there is no need to do any checking for existence, but for the very first Activate this check is required for some reason ? I found this behaviour weird.
>
>>
>>A property can be of type object and still not hold an object reference. This would be a property of type object with a value of NULL. You can fix your code to handle this by doing the following;
>>
>>
>>...
>>IF TYPE('thisform.topic' ) = 'O' AND NOT ISNULL(Thisform.Topic)
>>...
>>