Step 1: Provide Information About the Run-Time Object

The design-time object must include two interfaces, IActiveDesigner and IProvideDynamicClassInfo, to provide information about the run-time object.

To implement IActiveDesigner, derive your design-time class from IActiveDesignerImpl. The run-time object must support the persistence interfaces specified in IActiveDesignerImpl, and those in turn must be the same persistence interfaces must supported by the design-time object.

If you're implementing a separate run-time object, you must also derive your designer class from IProvideDynamicClassInfoImpl. IProvideDynamicClassInfoImpl provides access to the run-time object's ITypeInfo object through the supplied type library and CLSID template parameters. Even if the run-time object’s type information is not dynamic, you must use this interface, because IProvideClassInfo by definition provides type information for the COM object that implements it, and you are trying to provide type information for a different run-time object.

By default, the template for IProvideDynamicClassInfoImpl specifies dynamic run-time type information. To implement a separate run-time object that has static type information, set bGetStaticRuntimeTypeInfo to TRUE.

See Also

Step 2: Choose a Visual or Nonvisual Run-Time Object