5.1 The COM Implementation Browser

The COM Implementation Browser allows prototype code for COM implementation classes to be viewed and created. This is useful when writing COM methods because it provides a template for the method names and arguments. To start the tool, choose Tools > Com Implementation Browser from the LispWorks podium.

At the top of the window is a drop down list a class names. Choosing an item from this list will set the contents of the Description panel to show that class at the root of the tree, with subitems for each COM interface that it implements. The COM interfaces have subitems for their uuids and methods. The icon used for a method in the tree indicates the status of its implementation: red means not implemented (see Unimplemented methods), yellow means inherited from a superclass (see Inheritance), red and yellow means an inherited unimplemented method and cyan means a method implemented directly in the named class.

Selecting an item in the Description pane will display a prototype implementation for that part of the class, using the appropriate macros for COM and Automation classes.

The New and Edit buttons allow prototype classes to be constructed and modified. Such classes are shown in the list of class names as Example class... and are not actually defined, but the prototype code can be copied into a file and evaluated to provide a starting point for an implementation. Clicking New or Edit displays a dialog as shown below.

The class name is displayed at the top and can be edited. For COM object classes, the list at the bottom of the dialog shows the COM interfaces that the class will implement. For Automation interfaces, a type library must be chosen from the drop-down list and one of the Coclass or Interfaces options selected to show the list of coclasses or interfaces that the class will implement. Click OK to confirm your choice or Cancel to discard it.

LispWorks COM/Automation User Guide and Reference Manual - 21 Feb 2008