comtypes 0.6.2 released

Thomas Heller theller at ctypes.org
Mon Jan 18 08:15:34 CET 2010


Am 16.01.2010 17:22, schrieb Thomas Heller:
> I'm happy to announce the 0.6.2 comtypes release:
> 
> http://sourceforge.net/projects/comtypes/

I forgot to mention what comtypes is, sorry for that:

comtypes
--------

**comtypes** is a lightweight Python COM package, based on the ctypes
FFI library, in less than 10000 lines of code (not counting the
tests).

**comtypes** allows to define, call, and implement custom and
dispatch-based COM interfaces in pure Python.  It works on Windows,
64-bit Windows, and Windows CE.



> Here are the release notes:
> 
> 	comtypes 0.6.2 released.
> 
> Summary of important changes:
> 
> 	- Several bug fixes for COM event handlers implemented in Python.
> 
> 	- Allow typelib wrappers that (wrongly?) contain
> 	'SAFEARRAY(VARIANT)*'.
> 
> 	- DllCanUnloadNow() always returns S_FALSE in comtypes inproc
> 	COM servers.
> 
> 	- The COM interfaces IViewObject, IViewObject2, and
> 	IViewObjectEx in the new module comtypes.viewobject.
> 
> --------------------------------------------------------------------------
> 
> Detailed changelog since version 0.6.0:
> 
> 2010-01-15  Thomas Heller  <theller at python.net>
> 
> 	* Bumped version number to 0.6.2.
> 
> 	* CoUninitialize() returns nothing, not HRESULT.
> 
> 2009-12-22  Thomas Heller  <theller at python.net>
> 
> 	* Bug fixes for event handlers implemented in Python.
> 
> 2009-12-11  Thomas Heller  <theller at python.net>
> 
> 	* COM servers implemented in Python can now fire events; it did
> 	not work in some cases.
> 
> 	* When an exception occurs in a COM event handler, a traceback is
> 	printed.
> 
> 2009-11-26  Thomas Heller  <theller at python.net>
> 
> 	* Allow typelib wrappers that contain 'SAFEARRAY(VARIANT*)'
> 	parameter types to be imported.  Calling these methods will fail,
> 	though.
> 
> 2009-11-13  Thomas Heller  <theller at python.net>
> 
> 	* To avoid a memory leak when PyInitialize()/PyUninitialize() are
> 	called several times, return S_FALSE from inproc server's
> 	DllCanUnloadNow().
> 
> 2009-11-05  Thomas Heller  <theller at python.net>
> 
> 	* COMObject subclasses can now implement a _final_release_()
> 	method to free up resources, for example.  This method is called
> 	when the COM reference count reaches zero.
> 
> 	* Implement __hash__ method in dynamic dispatch classes.  This
> 	fixes a 'python -3' warning.
> 
> 	* comtypes\safearray.py: When numpy is not installed, creating
> 	safearrays took a very long time.  This is fixed now.
> 
> 	* comtypes\test\test_server.py: New way to test COM client and
> 	server.  Work in progress.
> 
> 2009-10-22  Thomas Heller  <theller at python.net>
> 
> 	* Support broken COM objects that provide IProvideClassInfo2, but
> 	not IProvideClassInfo (although the latter is derived from the
> 	former).  See
> 	http://sourceforge.net/tracker/index.php?func=detail&aid=2829887&group_id=115265&atid=692942
> 
> 	* Fixed a regression from the 0.4 version, [out] parameters didn't
> 	accept pointers or arrays any longer. Thanks again to Michael
> 	Eddington.
> 
> 2009-10-19  Thomas Heller  <theller at python.net>
> 
> 	* Fix a memory leak in Python COM servers.  Thanks to Michael
> 	Eddington for the patch.
> 
> 2009-10-02  Thomas Heller  <theller at python.net>
> 
> 	* comtypes\test\test_server.py: Start a better approach to test
> 	both COM object calls and COM object implementations.
> 
> 2009-09-09  Thomas Heller  <theller at python.net>
> 
> 	* Fix returning SAFEARRAY of VT_RECORDs.  Based on a patch from
> 	Eduardo Arias.
> 
> 	* New module comtypes.viewobject, contains the interfaces
> 	IViewObject, IViewObject2, IViewObjectEx.  IAdviseSink is faked.
> 
> 	* Change version number to 0.6.2dev.
> 
> 2009-09-04  Thomas Heller  <theller at python.net>
> 
> 	* CoTaskMemFree does not return a HRESULT.  Patch from James Teh.
> 
> 2009-08-19  Thomas Heller  <theller at python.net>
> 
> 	* Bumped version number to 0.6.1.
> 
> 2009-08-07  Thomas Heller  <theller at python.net>
> 
> 	* When an interface was specified in the call to
> 	IClassObject.CreateInstance, return that instead of calling
> 	GetBestInterface.  Patch from James Teh.
> 
> 2009-08-04  Thomas Heller  <theller at python.net>
> 
> 	* Added comtypes.CoGetClassObject() low-level function,
> 	comtypes.client.GetClassObject() high-level function, and
> 	implemented a pythonic interface to IClassFactory's CreateInstance
> 	method:
> 
> 	    def CreateInstance(self,
> 			       punkouter=None,
> 			       interface=None,
> 			       dynamic=False)
> 
> 	* Added the 'dynamic=False' parameter to the
> 	comtypes.client.CoGetObject and comtypes.client.GetActiveObject
> 	functions.  Suggested by James Teh.
> 
> 2009-06-17  Thomas Heller  <theller at python.net>
> 
> 	* comtypes.automation: Support VT_I8 and VT_UI8 SAFEARRAYs.
> 
> 	* comtypes._comobject: Restore compatibility with Python 2.3.
> 
> 	* Add the comtypes.IServiceProvider interface.  Based on a patch
> 	from Michael Curran.
> 
> 2009-04-30  Thomas Heller  <theller at python.net>
> 
> 	* Change version number in repository to 0.6.0.2dev.
> 
> 	* Replace the VARIANTEnumerator implementation class in
> 	comtypes.server.automation with a new one which should actually be
> 	usable.
> 
> 	* A completely new way how localserver and inproc server instances
> 	are managed:
> 
> 		A comtypes.LocalServer or comtypes.InprocServer instance
> 		is attached to the comtypes.COMObject class at runtime.
> 
> 		These changes keep localserver running as long as
> 		COMObject instances are alive.
> 
> 2009-04-29  Thomas Heller  <theller at python.net>
> 
> 	* comtypes.errorinfo.ReportException now takes an additional
> 	'stacklevel' named argument.
> 
> 	* Add E_OUTOFMEMORY hresult code.
> 
> 	* Register the InprocServer32 only when running as script or
> 	py2exe dll, not when running as py2exe exe server.
> 	
> 2009-04-25  Thomas Heller  <theller at python.net>
> 
> 	* SAFEARRAYs can now also be created from multi-dimensional numpy
> 	arrays.
> 
> 2009-04-23  Thomas Heller  <theller at python.net>
> 
> 	* Change version number in repository to 0.6.0.1dev.
> 
> 	* SAFEARRAYs can now also be created from array.array objects, and
> 	from (one-dimensional) numpy arrays.  This is a lot faster than
> 	creating them from Python lists or tuples, at least for large
> 	arrays.
> 
> 	* ctypes instances like c_int, c_ubyte, and so on can now be
> 	assigned to VARIANT().value.  This allows to force creation of
> 	VARIANTs with the corresponding typecodes V_I4, VT_UI1 and alike.
> 
> 	* Accept typelibs that contain SAFEARRAY(char).
> 
> 2009-03-17  Thomas Heller  <theller at python.net>
> 
> 	* Fixed the return type of ITypeLib::ReleaseTLibAttr, which is
> 	documented wrongly in MSDN.  The return type is void, not HRESULT.
> 	Reported to cause crashes on Windows 7.
> 
> 2009-01-29  Thomas Heller  <theller at python.net>
> 
> 	* Restore compatibility with Python 2.3.
> 	
> 	* comtypes\client\_code_cache.py: Add missing 'import types' in
> 	comtypes\client\_code_cache.py.
> 
> 
> 


-- 
Thanks,
Thomas


More information about the Python-announce-list mailing list