A template-based Library for building reusable COM objects using C++.
What is COMBind?
COMBind is a library of C++ classes that provide
efficient default implementations of various parts of
the Component Object Model. The library uses templates
extensively (although not nearly as extensively as STL)
and simplifies the creation of COM-compliant classes and clients.
ComBind is currently "way beta" but is available via the net by
sending mail to
combind-request@develop.com
What does/will COMBind contain?
COMBIND currently contains relatively stable versions of:
- A template-based implementation of IUnknown that supports COM aggregation
- A template-based implementation of a Class Factory
- A template-based implementation of a Smart Interface Pointer
- Single-source Inproc/Local server management
- Unicode<->ANSI String-thunking Classes (no more OLE2ANSI)
- Registry Manipulation Routines
- Very minimal interoperability with MFC
The components listed above are quite usable, and are not likely to change radically
for a while (at least the public interfaces won't change).
The next major release (due in early September) will contain stable versions of the classes
listed above and also include:
- A template-based implementation of IDispatch
- A template-based implementation of Dual Interfaces
- A stream-based implementation of IDispatch clients
- A Type Library Browser that generates dispatch proxy code and interface definitions
- A stream-based implementation of Proxy/Stub pairs for Standard Marshaling
- A framework for building Windows 95/Cairo Shell Extensions
- Support for Property Sets
- A COM-based API to the registry
- A framework for implementing custom marshaling handlers
- Better support for C++ exceptions
- An architecture for expressing normal C++ exceptions in COM
Why not just use MFC?
Go ahead! In fact, a lot of the UI code used in the ComBind browser is implemented
in MFC. However, MFC is not the correct solution for a variety
of problems encountered by a COM programmer. ComBind attempts to provide an alternative to MFC that is simple,
lightweight and true to C++. ComBind isn't for everyone, but it is arguably easier
than rolling your own.
How do I get COMBind?
The first external release of ComBind is slated
to be available but is available via the ftp in late
July. You can be notified of release status by
sending mail to
combind-request@develop.com.
This site lovingly recreated from a snapshot from August 23, 1995 for Don Box, Fritz Onion, Mark Taparauskas and all my other friends at DevelopMentor. -- Chris Sells