All Manuals > COM/Automation User Guide and Reference Manual > 4 Automation Reference Entries

:midl-type-library-file Defsystem Member Type

Summary

A defsystem member type that can be used to include a type library file in a Lisp system definition.

Package

com

Description

When a file is given the defsystem member type :midl-type-library-file, compiling the system will compile the type library file to produce a fasl. Loading the system will load this fasl. The :package and :mapping-options keywords can specified as for midl.

The keyword :component-name name-spec can be supplied to specify that the source is the library specified by name-spec.

name-spec should be one of:

t
Means that the component name is the same as the module name.
A string
The name of the component.
A list
(component-name keywords-and-values) where the keywords and values are passed to find-component-tlb when looking for the actual library.

In all cases the module name, less anything after the last dot, is used as the default filename for the compiled file.

The keyword :com can be supplied to reduce the amount of code generated. For the details, see 3.1.3 Reducing the size of the converted library.

Examples

To include the file myfile.tlb in a system, use:

(defsystem my-system ()
  :members (("myfile.tlb"
             :type :midl-type-library-file)))

To compile the library associated with "OWC10.Spreadsheet", producing an object file in OWC10.ofasl put a clause like this in the defsystem form:

("OWC10.SPREADSHEET" :type :midl-type-library-file
                     :com :not-binary
                     :component-name t)

To compile the same library, but to a different object file, use:

("my-owc" :type :midl-type-library-file
          :com :not-binary
          :component-name "OWC10.SPREADSHEET")

To compile the same library, but using only version newer than 1.1, use a clause like this:

("my-owc" :type :midl-type-library-file
           :com :not-binary
           :component-name ("OWC10.SPREADSHEET"
                            :min-version "1.1"))
See also

find-component-tlb
:midl-file


COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:41