All Manuals > LispWorks COM/Automation User Guide and Reference Manual



This manual documents the LispWorks COM/Automation API, which provides a toolkit for using Microsoft COM and Automation with Common Lisp.

For details of using OLE and ActiveX controls with the CAPI, see the class capi:ole-control-pane in the CAPI User Guide and Reference Manual .

This preface contains information you need when using the rest of the this manual. It discusses the purpose of this manual, the typographical conventions used, and gives a brief description of the rest of the contents.


The manual assumes that you are familiar with:

Unless otherwise stated, examples given in this document assume that the current package has COM on its package-use-list.

Conventions used in the manual

Throughout this manual, certain typographical conventions have been adopted to aid readability.

Text which refers to Lisp forms is printed like this. Variables and values described in the reference sections are printed like this.

Entries in the reference sections are listed alphabetically and each entry is headed by the symbol name and type, followed by a number of fields providing further details. These fields consist of a subset of the following: "Summary", "Signature", "Method signature", "Superclasses", "Subclasses", "Slots", "Accessors", "Readers", "Compatibility note", "Description", "Notes", "Examples", and "See also".

Entries with a long "Description" section usually have as their first field a short "Summary" providing a quick overview of the purpose of the symbol being described.

The "Signature" section provides details of the arguments taken by the functions and macros and values returned, separated by the => sign. The top level of parentheses is omitted, but parentheses used for destructuring in macros are included explicitly. Optional items in the syntax of macros are denoted using square brackets [like this] . Repeated items have an asterisk suffix like this*.

For classes, only direct sub- and superclasses are detailed in the "Subclasses" and "Superclasses" sections of each entry.

Examples show fragments of code and sometimes the results of evaluating them

Finally, the "See also" section provides a reference to other related symbols.

Please let us know if you find any mistakes in the LispWorks documentation, or if you have any suggestions for improvements.

Example files

This manual often refers to example files in the LispWorks library via a Lisp form like this:

(example-edit-file "com/automation/events/ie-events")

These examples are files in your LispWorks installation under lib/7-1-0-0/examples/. You can simply evaluate the given form to view the example file.

Example files contain instructions about how to use them at the start of the file.

The examples files are in a read-only directory and therefore you should compile them inside the IDE (by the Editor command Compile Buffer or the toolbar button or by choosing Buffer > Compile from the context menu), so it does not try to write a fasl file.

If you want to manipulate an example file or compile it on the disk rather than in the IDE, then you need first to copy the file elsewhere (most easily by using the Editor command Write File or by choosing File > Save As from the context menu).

A Description of the Contents

The manual is divided into four sections, relating to COM, Automation, graphical tools and example files respectively. The COM and Automation sections each contain a user guide and a reference chapter.

Using COM introduces the principles behind the LispWorks COM API and describes how to use it to call COM methods and implement COM servers.

COM Reference Entries provides a detailed description of every function, macro, variable and type in the LispWorks COM API.

Using Automation introduces the LispWorks Automation API and describes how to use it to call Automation methods and implement Automation servers.

Automation Reference Entries provides a detailed description of every function, macro, variable and type in the LispWorks Automation API.

Tools describes some tools which are available in the LispWorks IDE to help with debugging applications using COM/Automation. Please note that your windows may look different from the illustrations shown. This is because some details are controlled by the theme and version of Microsoft Windows, not by LispWorks itself.

Self-contained examples lists the example files which are relevant to the content of this manual and are available in the LispWorks library.


LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017