www.digitalmars.com         C & C++   DMDScript  

c++.announce - Announcing VOLE - A Neat C++ COM/Automation Driver, version 0.2.1

Announcing the first public release of "VOLE - A Neat C++ COM/Automation
Driver": version 0.2.1 is available for download at
http://sourceforge.net/project/showfiles.php?group_id=185401. Homepage is

VOLE is a C++ library that dramatically simplifies the business of driving
COM servers (via the IDispatch interface) from C++.

VOLE is highly robust.

VOLE is very flexible, taking and returning normal C++ types, such as int,
  double, std::string, std::wstring, and so on.

VOLE is 100% header only.

VOLE is compiler-independent, and has been verified to work with the
  following compilers:
    Digital Mars 8.50
    GCC 3.4
    Intel 8
    Metrowerks CodeWarrior 8
    Visual C++ 6.0
    Visual C++ 7.1
    Visual C++ 8.0

VOLE is dependent only on the STLSoft libraries (version 1.9.1 beta 43, or
  later; available from http://stlsoft.org/), which are themselves
  100% header-only.

To use VOLE:

  1. Download and unpack the latest VOLE distribution.
  2. Download and unpack the latest STLSoft distribution (version 1.9.1
     beta 43, or later; available from http://stlsoft.org/downloads.html).
  3. Set up the environment variables for VOLE and STLSoft, as described
     in the INSTALL.TXT document included in the VOLE distribution.
  4. Include the main VOLE header file into your project source.

     #include <vole/vole.hpp>

  5. Create an instance of an automation server, via vole::object::create().

     using vole::object;
     using vole::collection;

     object     xlApp   = object::create("Excel.Application");

  6. Invoke automation methods on the server object, according to its
     COM/Automation object model.

     xlApp.put_property(L"Visible", true);

     collection xlBooks = xlApp.get_property<collection>(L"Workbooks");

     object     xlBook  = xlBooks.get_property<object>(L"Add");

     . . .


  7. Run your program.

  8. Tell all your friends about VOLE.
Jan 21 2007