Version 1.2

LuaCOM

next up previous contents Next: Version 1.1 Up: 5.5 History Previous: Version 1.3b   Contents

Version 1.2

  • Can be loaded by Lua 5's require function;

  • In-process servers, fully implemented in Lua (no initialization code in C is necessary for in-process servers, and for local servers using Lua 5);

  • Now 1-based arrays are correctly converted by LuaCOM;

  • UNICODE strings are correctly converted from/to ANSI ones by LuaCOM;

  • byte arrays are now converted from/to strings with embedded zeros;

  • LuaCOM now has a limited support for loading and browsing type information and type libraries. This includes the ability to import type library constants (enum's) as Lua globals and the ability to open the help information associated with a component;

  • objects implementing IEnumVARIANT interface are now supported. This means that collections can be used in LuaCOM in a similar way as the are in VBScript©;

  • implemented a log mechanism to simplify debugging;

  • LuaCOM now handles correctly COM calls with named parameters5.1. This caused problems when receiving Microsoft Excel© events;

  • now it's possible to specify the context used to create an instance of a COM object (whether it should be created as a local server or as an in-process server);

  • non-ANSI code removed;

  • when faced with an IUnknown pointer, LuaCOM now queries it for IDispatch or IEnumVARIANT interfaces, returning a LuaCOM object instead of an IUnknown pointer;

  • improved error-handling: now LuaCOM allows the customization of the actions to be taken when errors occur;

  • LuaCOM now supports the concept of default method: when one uses a reference to a LuaCOM object as a function, LuaCOM does the function call using the default method of that object;

  • part of the LuaAPI of LuaCOM now is implemented in Lua 5. This eases the addition of new features and avoids cramming the library. Nevertheless, this does not impact those who use the binary release, as they carry the Lua code precompiled;

  • luacom.GetObject now supports the use of monikers. Among other thing, this makes possible to use WMI and to open document files directly, e.g. luacom.GetObject("myfile.xls");

  • luacom.CreateObject and luacom.GetObject now make an attemp to initialize the COM object via IPersistStreamInit. Some objects refuse to work without this step.


next up previous contents
Next: Version 1.1 Up: 5.5 History Previous: Version 1.3b   Contents
Fabio Mascarenhas de Queiroz 2005-01-07