Class Hierarchy

The generated Eiffel code reflects the architecture of the component described in the definition file. Each interface corresponds to a deferred Eiffel class that includes one deferred feature per interface function. The deferred features are implemented in heirs of the interface class. Classes inheriting from these interfaces implement either a coclass or an implemented interface (that is an interface whose instance might be used as an argument on one of the component interfaces functions).

Projects Accessing Existing COM Components

In a project accessing an existing component, the Eiffel classes corresponding to component coclasses inherit from the class ECOM_QUERIABLE , which is part of the EiffelCOM library. This class includes the feature make_from_other which allows initializing the component from another instance of ECOM_INTERFACE .

Projects Implementing New COM Components

In a project implementing a new component, the Eiffel classes corresponding to component coclasses inherit from the class ECOM_STUB, which is part of the EiffelCOM library. This class includes the feature create_item which allows initializing the component.

The Interface_proxy folder includes Eiffel classes wrapping interfaces that may be returned by functions on other interfaces. These classes inherit from both the deferred interface class located in Common\Interfaces and ECOM_QUERIABLE .

The Interface_stub folder includes Eiffel classes implementing interfaces that may be given to the component as an argument. These classes inherit from both the deferred interface class and ECOM_STUB .

See Also: How the EiffelCOM Wizard Works , Generated Files , Adding a COM Interface to an Eiffel Project , Accessing a COM Component , Building a COM Component , Command Line Options

3f78176c-179f-78a4-cf32-47ec548bbb16