-*- Outline -*- CLisp OLE Automation interface Copyright (C) 2005 Tomas Hlavaty This is Free Software, covered by the GNU GPL (v2) See http://www.gnu.org/copyleft/gpl.html * Warning This is experimental version that can seriously damage your computer. Be ready for blue screen and MS Windows recovery:-( * Introduction This module provides rather incomplete and experimental interface to OLE Automation. * Motivation - Use CLisp for OLE Automation. - Thank and contribute to GNU. - Learn more about Lisp. - Learn about OLE Automation. * Platform Developed on Cygwin, GNU CLISP 2.34, GNU C 3.4.4 * TODO Important: 1) Add error handling. 2) Check for memory leaks and do resource management properly especially on errors! 3) Add other IDispatch methods. 4) Build more OLE classes and methods on top of the low level interface. 5) Replace RAW parameter of OLE:INVOKE by something like :default-idispatch-class? Minor: 5) Use c-struct for variant type instead of c-pointer and getter/setter C functions. 6) wstring->string conversion: inverse function to with-foreign-string to replace WideCharToMultiByte() in bstr2lisp?