EiffelCOM Wizard Introduction

The COM standard allows software components written in different languages to communicate with each other. However, building COM compliant applications requires the development of a large amount of "plumbing" code dedicated to supporting the technology. The EiffelCOM wizard was designed to free Eiffel developers from having to write the plumbing code.

The EiffelCOM Wizard is a powerful tool that enables both the rapid development of COM components in Eiffel and the access of COM components from Eiffel systems. The wizard consists of a series of input fields, in which you describe the component's characteristics. The wizard uses data you enter to produce:

  1. An Eiffel system skeleton
  2. The code to access or create a component
  3. The component-specific runtime libraries.

The wizard allows Eiffel developers with little COM knowledge to develop and reuse COM components. The design of the generated code follows the Eiffel standards and will look familiar to experienced Eiffel users. The only prerequisite to use the EiffelCOM wizard is an understanding of the Interface Definition Language. IDL describes a component's interface(s). Compilers can generate Type Libraries from IDL files. Tools that need information about a given component, such as the EiffelCOM wizard, Visual Basic, etc. will analyze the Type Libraries. The IDL syntax is very close to C so should be easy to learn for developers that are familiar with this language.

The wizard generates code from a Type Library and additional information given by the user. The generated code consists of Eiffel classes, C/C++ files, and library files. The wizard automatically produces library files from generated C and C++ code. You do not need to modify generated C/C++ code to build your EiffelCOM system.

Note: The EiffelCOM Wizard is delivered with EiffelStudio, but it is a standalone tool (i. e., not part of the EiffelStudio IDE). You can find the wizard by following the directory path: $ISE_EIFFEL\wizards\com. The executable file com_wizard_launcher.exe will launch the GUI version of the wizard. The executable file com_wizard.exe is a command-line version of the wizard described here.

Code Generation Process

The wizard can automatically compile the generated C and Eiffel code. To produce a Type Library corresponding to a given IDL file the wizard relies on MIDL, the Microsoft IDL compiler (installed with the Windows Platform SDK). You may also provide the wizard with a Type Library directly. The wizard can also be used to add a COM interface to an existing Eiffel project. For the rest of the manual a COM Definition File will refer to the input file given to the wizard (either an IDL file, a Type Library or an Eiffel project file).

See Also: Guided Tour , EiffelCOM wizard reference