comtypes 1.1.0__zip → 1.1.3__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- comtypes-1.1.3/CHANGES.txt +1061 -0
- comtypes-1.1.3/LICENSE.txt +24 -0
- comtypes-1.1.3/MANIFEST.in +1 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/PKG-INFO +1 -1
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/__init__.py +7 -2
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/_comobject.py +112 -74
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/automation.py +5 -1
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/_code_cache.py +1 -1
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/npsupport.py +20 -15
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/patcher.py +26 -2
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/safearray.py +6 -10
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestComServer.py +3 -4
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_variant.py +5 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/tools/codegenerator.py +8 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/typeinfo.py +6 -1
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes.egg-info/PKG-INFO +1 -1
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes.egg-info/SOURCES.txt +3 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/README +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/clear_comtypes_cache.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/GUID.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/_meta.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/_safearray.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/__init__.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/_events.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/_generate.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/dynamic.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/client/lazybind.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/connectionpoints.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/errorinfo.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/git.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/hresult.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/logutil.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/messageloop.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/persist.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/__init__.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/automation.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/connectionpoints.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/inprocserver.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/localserver.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/register.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/server/w_getopt.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/shelllink.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestComServer.idl +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestComServer.tlb +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestDispServer.idl +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestDispServer.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/TestDispServer.tlb +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/__init__.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/find_memleak.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/mylib.idl +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/mytypelib.idl +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/runtests.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/setup.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_BSTR.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_DISPPARAMS.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_GUID.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_QueryService.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_agilent.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_avmc.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_basic.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_casesensitivity.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_client.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_collections.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_comserver.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_createwrappers.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_dict.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_dispinterface.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_dyndispatch.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_excel.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_findgendir.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_getactiveobj.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_ie.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_jscript.js +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_msscript.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_outparam.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_propputref.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_pump_events.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_safearray.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_sapi.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_server.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_showevents.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_subinterface.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_typeinfo.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_urlhistory.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_win32com_interop.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_wmi.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/test/test_word.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/tools/__init__.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/tools/tlbparser.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/tools/typedesc.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/tools/typedesc_base.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/util.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes/viewobject.py +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes.egg-info/dependency_links.txt +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/comtypes.egg-info/top_level.txt +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/setup.cfg +0 -0
- {comtypes-1.1.0 → comtypes-1.1.3}/setup.py +0 -0
|
@@ -0,0 +1,1061 @@
|
|
|
1
|
+
Comtypes CHANGELOG
|
|
2
|
+
==================
|
|
3
|
+
|
|
4
|
+
Release 1.1.3
|
|
5
|
+
-------------
|
|
6
|
+
|
|
7
|
+
* Fix SyntaxError caused by enums containing python keywords. Thanks to
|
|
8
|
+
laripk for the fix and janbrohl for the bug report.
|
|
9
|
+
|
|
10
|
+
Release 1.1.2
|
|
11
|
+
-------------
|
|
12
|
+
|
|
13
|
+
* Fix TypeError when interfaces return a single in-out result (#84). Thanks to
|
|
14
|
+
FranOis for the bug report and max-egger for suggesting the fix.
|
|
15
|
+
* Fix AttributeError when cleaning up safe arrays at shutdown (#83). Thanks to
|
|
16
|
+
mitaa for the bug report and fix.
|
|
17
|
+
* Fix 64-bit ULONG_PTR definition in typeinfo module (#82). Thanks to aparamon
|
|
18
|
+
for the bug report.
|
|
19
|
+
* Add POINTER(BSTR) to supported VARIANT types (#81). This allows the Esri
|
|
20
|
+
ArcObjects library to be loaded. Thanks to Matt Wilkie for the patch.
|
|
21
|
+
* Properly catch error when attempting to cache code to an unwritable
|
|
22
|
+
directory (#78). Thanks to Robin Dunn for the patch.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Release 1.1.1
|
|
27
|
+
-------------
|
|
28
|
+
|
|
29
|
+
* Fixed backwards-incompatible change where empty strings in VARIANTs were
|
|
30
|
+
being converted to NULL (#68). Thanks to shgohh for the bug report.
|
|
31
|
+
* Fixed npsupport module to fail gracefully when numpy is not present (#62).
|
|
32
|
+
Thanks to kyleMR for the patch.
|
|
33
|
+
* Fixed low-level property machinery in _comobject (#60).
|
|
34
|
+
* Fixed bug where numpy would be imported when using safe arrays (#59). Thanks
|
|
35
|
+
to Paul Moore (pfmoore) for submitting the bug and a patch.
|
|
36
|
+
* Fixed bug in patching machinery (#57). Thanks to Paul Moore (pfmoore) for
|
|
37
|
+
the patch.
|
|
38
|
+
* Various documentation cleanups.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Release 1.1.0
|
|
42
|
+
-------------
|
|
43
|
+
|
|
44
|
+
* Updated automation code to convert c_int64 and c_uint64 to their VT_I8 and
|
|
45
|
+
VT_UI8, respectively (#49).
|
|
46
|
+
* Update automation code to convert VT_DECIMAL VARIANT to Decimal type (#44).
|
|
47
|
+
* Fixed an undocumented bug that would lead to improper behavior when nesting
|
|
48
|
+
the ``safearray_as_ndarray`` context (#41).
|
|
49
|
+
* Added a license file and merged the ChangeLog into CHANGES.txt (#35, #39).
|
|
50
|
+
* Extended and homogenized indexing across container and named property
|
|
51
|
+
interfaces (#32, #43). This introduces the ability to index with an empty
|
|
52
|
+
slice, which has the same meaning as indexing with an empty tuple.
|
|
53
|
+
* Completed migration to ``patcher`` module (#31).
|
|
54
|
+
* Extended NumPy support so object and datetime64 arrays can be converted to
|
|
55
|
+
VARIANT safearrays (#29).
|
|
56
|
+
* Extended test runner so it can be run under 32- and 64-bit Python and be used
|
|
57
|
+
in an automated testing system (#25, #28).
|
|
58
|
+
* Modified many tests so they run under 64-bit python (#21, #22, #23).
|
|
59
|
+
* Removed reference cycle in PumpEvents (#19).
|
|
60
|
+
* Fixed safearray test that would fail under NumPy 1.6 (#19).
|
|
61
|
+
* Project migrated to http://github.com/enthought/comtypes. Issue numbers
|
|
62
|
+
refer to the new project page.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Release 1.0.0
|
|
66
|
+
-------------
|
|
67
|
+
|
|
68
|
+
* #27: Replaced the ``partial`` module with a ``patcher`` module. This new
|
|
69
|
+
technique patches the underlying classes explicitly. This technique avoids
|
|
70
|
+
the problems with the metaclass magic on Python 3.
|
|
71
|
+
* Officially dropped support for Python 2.5.
|
|
72
|
+
* #25: Allow installation on non-Windows systems.
|
|
73
|
+
* #31: Improved 64-bit compatibility by specifying argtypes for GetMessage.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
Earlier Changes
|
|
77
|
+
---------------
|
|
78
|
+
|
|
79
|
+
2010-04-09 Thomas Heller <theller@python.net>
|
|
80
|
+
|
|
81
|
+
* comtypes.client.dynamic: Added _FlagAsMethod(*names) method
|
|
82
|
+
to the _Dispatch class.
|
|
83
|
+
|
|
84
|
+
This allows to flag these attribute names as being methods. Some
|
|
85
|
+
objects do not correctly differentiate methods and properties,
|
|
86
|
+
leading to problems when calling these methods.
|
|
87
|
+
|
|
88
|
+
2010-02-23 Thomas Heller <theller@python.net>
|
|
89
|
+
|
|
90
|
+
* pointers and byref() objects will now be stored in a VARIANT as
|
|
91
|
+
VT_BYREF type. This allows to call dispinterface methods with
|
|
92
|
+
BYREF arguments.
|
|
93
|
+
|
|
94
|
+
2010-01-21 Thomas Heller <theller@python.net>
|
|
95
|
+
|
|
96
|
+
* Add a __repr__ method to named_property and bound_named_property
|
|
97
|
+
object.
|
|
98
|
+
|
|
99
|
+
2010-01-15 Thomas Heller <theller@python.net>
|
|
100
|
+
|
|
101
|
+
* Bump version number to 0.6.3dev: development version.
|
|
102
|
+
|
|
103
|
+
2010-01-15 Thomas Heller <theller@python.net>
|
|
104
|
+
|
|
105
|
+
* Bumped version number to 0.6.2.
|
|
106
|
+
|
|
107
|
+
* CoUninitialize() returns nothing, not HRESULT.
|
|
108
|
+
|
|
109
|
+
2009-12-22 Thomas Heller <theller@python.net>
|
|
110
|
+
|
|
111
|
+
* Bug fixes for event handlers implemented in Python.
|
|
112
|
+
|
|
113
|
+
2009-12-11 Thomas Heller <theller@python.net>
|
|
114
|
+
|
|
115
|
+
* COM servers implemented in Python can now fire events; it did
|
|
116
|
+
not work in some cases.
|
|
117
|
+
|
|
118
|
+
* When an exception occurs in a COM event handler, a traceback is
|
|
119
|
+
printed.
|
|
120
|
+
|
|
121
|
+
2009-11-26 Thomas Heller <theller@python.net>
|
|
122
|
+
|
|
123
|
+
* Allow typelib wrappers that contain 'SAFEARRAY(VARIANT*)'
|
|
124
|
+
parameter types to be imported. Calling these methods will fail,
|
|
125
|
+
though.
|
|
126
|
+
|
|
127
|
+
2009-11-13 Thomas Heller <theller@python.net>
|
|
128
|
+
|
|
129
|
+
* To avoid a memory leak when PyInitialize()/PyUninitialize() are
|
|
130
|
+
called several times, return S_FALSE from inproc server's
|
|
131
|
+
DllCanUnloadNow().
|
|
132
|
+
|
|
133
|
+
2009-11-05 Thomas Heller <theller@python.net>
|
|
134
|
+
|
|
135
|
+
* COMObject subclasses can now implement a _final_release_()
|
|
136
|
+
method to free up resources, for example. This method is called
|
|
137
|
+
when the COM reference count reaches zero.
|
|
138
|
+
|
|
139
|
+
* Implement __hash__ method in dynamic dispatch classes. This
|
|
140
|
+
fixes a 'python -3' warning.
|
|
141
|
+
|
|
142
|
+
* comtypes\safearray.py: When numpy is not installed, creating
|
|
143
|
+
safearrays took a very long time. This is fixed now.
|
|
144
|
+
|
|
145
|
+
* comtypes\test\test_server.py: New way to test COM client and
|
|
146
|
+
server. Work in progress.
|
|
147
|
+
|
|
148
|
+
2009-10-22 Thomas Heller <theller@python.net>
|
|
149
|
+
|
|
150
|
+
* Support broken COM objects that provide IProvideClassInfo2, but
|
|
151
|
+
not IProvideClassInfo (although the latter is derived from the
|
|
152
|
+
former). See
|
|
153
|
+
http://sourceforge.net/tracker/index.php?func=detail&aid=2829887&group_id=115265&atid=692942
|
|
154
|
+
|
|
155
|
+
* Fixed a regression from the 0.4 version, [out] parameters didn't
|
|
156
|
+
accept pointers or arrays any longer. Thanks again to Michael
|
|
157
|
+
Eddington.
|
|
158
|
+
|
|
159
|
+
2009-10-19 Thomas Heller <theller@python.net>
|
|
160
|
+
|
|
161
|
+
* Fix a memory leak in Python COM servers. Thanks to Michael
|
|
162
|
+
Eddington for the patch.
|
|
163
|
+
|
|
164
|
+
2009-10-02 Thomas Heller <theller@python.net>
|
|
165
|
+
|
|
166
|
+
* comtypes\test\test_server.py: Start a better approach to test
|
|
167
|
+
both COM object calls and COM object implementations.
|
|
168
|
+
|
|
169
|
+
2009-09-09 Thomas Heller <theller@python.net>
|
|
170
|
+
|
|
171
|
+
* Fix returning SAFEARRAY of VT_RECORDs. Based on a patch from
|
|
172
|
+
Eduardo Arias.
|
|
173
|
+
|
|
174
|
+
* New module comtypes.viewobject, contains the interfaces
|
|
175
|
+
IViewObject, IViewObject2, IViewObjectEx. IAdviseSink is faked.
|
|
176
|
+
|
|
177
|
+
* Change version number to 0.6.2dev.
|
|
178
|
+
|
|
179
|
+
2009-09-04 Thomas Heller <theller@python.net>
|
|
180
|
+
|
|
181
|
+
* CoTaskMemFree does not return a HRESULT. Patch from James Teh.
|
|
182
|
+
|
|
183
|
+
2009-08-19 Thomas Heller <theller@python.net>
|
|
184
|
+
|
|
185
|
+
* Bumped version number to 0.6.1.
|
|
186
|
+
|
|
187
|
+
2009-08-07 Thomas Heller <theller@python.net>
|
|
188
|
+
|
|
189
|
+
* When an interface was specified in the call to
|
|
190
|
+
IClassObject.CreateInstance, return that instead of calling
|
|
191
|
+
GetBestInterface. Patch from James Teh.
|
|
192
|
+
|
|
193
|
+
2009-08-04 Thomas Heller <theller@python.net>
|
|
194
|
+
|
|
195
|
+
* Added comtypes.CoGetClassObject() low-level function,
|
|
196
|
+
comtypes.client.GetClassObject() high-level function, and
|
|
197
|
+
implemented a pythonic interface to IClassFactory's CreateInstance
|
|
198
|
+
method:
|
|
199
|
+
|
|
200
|
+
def CreateInstance(self,
|
|
201
|
+
punkouter=None,
|
|
202
|
+
interface=None,
|
|
203
|
+
dynamic=False)
|
|
204
|
+
|
|
205
|
+
* Added the 'dynamic=False' parameter to the
|
|
206
|
+
comtypes.client.CoGetObject and comtypes.client.GetActiveObject
|
|
207
|
+
functions. Suggested by James Teh.
|
|
208
|
+
|
|
209
|
+
2009-06-17 Thomas Heller <theller@python.net>
|
|
210
|
+
|
|
211
|
+
* comtypes.automation: Support VT_I8 and VT_UI8 SAFEARRAYs.
|
|
212
|
+
|
|
213
|
+
* comtypes._comobject: Restore compatibility with Python 2.3.
|
|
214
|
+
|
|
215
|
+
* Add the comtypes.IServiceProvider interface. Based on a patch
|
|
216
|
+
from Michael Curran.
|
|
217
|
+
|
|
218
|
+
2009-04-30 Thomas Heller <theller@python.net>
|
|
219
|
+
|
|
220
|
+
* Change version number in repository to 0.6.0.2dev.
|
|
221
|
+
|
|
222
|
+
* Replace the VARIANTEnumerator implementation class in
|
|
223
|
+
comtypes.server.automation with a new one which should actually be
|
|
224
|
+
usable.
|
|
225
|
+
|
|
226
|
+
* A completely new way how localserver and inproc server instances
|
|
227
|
+
are managed:
|
|
228
|
+
|
|
229
|
+
A comtypes.LocalServer or comtypes.InprocServer instance
|
|
230
|
+
is attached to the comtypes.COMObject class at runtime.
|
|
231
|
+
|
|
232
|
+
These changes keep localserver running as long as
|
|
233
|
+
COMObject instances are alive.
|
|
234
|
+
|
|
235
|
+
2009-04-29 Thomas Heller <theller@python.net>
|
|
236
|
+
|
|
237
|
+
* comtypes.errorinfo.ReportException now takes an additional
|
|
238
|
+
'stacklevel' named argument.
|
|
239
|
+
|
|
240
|
+
* Add E_OUTOFMEMORY hresult code.
|
|
241
|
+
|
|
242
|
+
* Register the InprocServer32 only when running as script or
|
|
243
|
+
py2exe dll, not when running as py2exe exe server.
|
|
244
|
+
|
|
245
|
+
2009-04-25 Thomas Heller <theller@python.net>
|
|
246
|
+
|
|
247
|
+
* SAFEARRAYs can now also be created from multi-dimensional numpy
|
|
248
|
+
arrays.
|
|
249
|
+
|
|
250
|
+
2009-04-23 Thomas Heller <theller@python.net>
|
|
251
|
+
|
|
252
|
+
* Change version number in repository to 0.6.0.1dev.
|
|
253
|
+
|
|
254
|
+
* SAFEARRAYs can now also be created from array.array objects, and
|
|
255
|
+
from (one-dimensional) numpy arrays. This is a lot faster than
|
|
256
|
+
creating them from Python lists or tuples, at least for large
|
|
257
|
+
arrays.
|
|
258
|
+
|
|
259
|
+
* ctypes instances like c_int, c_ubyte, and so on can now be
|
|
260
|
+
assigned to VARIANT().value. This allows to force creation of
|
|
261
|
+
VARIANTs with the corresponding typecodes V_I4, VT_UI1 and alike.
|
|
262
|
+
|
|
263
|
+
* Accept typelibs that contain SAFEARRAY(char).
|
|
264
|
+
|
|
265
|
+
2009-03-17 Thomas Heller <theller@python.net>
|
|
266
|
+
|
|
267
|
+
* Fixed the return type of ITypeLib::ReleaseTLibAttr, which is
|
|
268
|
+
documented wrongly in MSDN. The return type is void, not HRESULT.
|
|
269
|
+
Reported to cause crashes on Windows 7.
|
|
270
|
+
|
|
271
|
+
2009-01-29 Thomas Heller <theller@python.net>
|
|
272
|
+
|
|
273
|
+
* Restore compatibility with Python 2.3.
|
|
274
|
+
|
|
275
|
+
* comtypes\client\_code_cache.py: Add missing 'import types' in
|
|
276
|
+
comtypes\client\_code_cache.py.
|
|
277
|
+
|
|
278
|
+
2008-12-19 Thomas Heller <theller@python.net>
|
|
279
|
+
|
|
280
|
+
* Bumped version number to 0.6.0.
|
|
281
|
+
|
|
282
|
+
* comtypes.client.lazybind.Dipatch:
|
|
283
|
+
If __getitem__ fails the get the indexed default value, try
|
|
284
|
+
NewENUM. Implement __eq__ for Python 3 compatibility.
|
|
285
|
+
|
|
286
|
+
* Fix a problem with SAFEARRAYs where the contained data was
|
|
287
|
+
released too early.
|
|
288
|
+
|
|
289
|
+
* Fix property get handling for FUNC_PUREVIRTUAL functions in
|
|
290
|
+
lazybind.py
|
|
291
|
+
|
|
292
|
+
2008-12-18 Thomas Heller <theller@python.net>
|
|
293
|
+
|
|
294
|
+
* Fix memoryleak in IEnumVARIANT.
|
|
295
|
+
|
|
296
|
+
2008-12-12 Thomas Heller <theller@python.net>
|
|
297
|
+
|
|
298
|
+
* Merged changes from the dyndispatch branch:
|
|
299
|
+
|
|
300
|
+
* Add a comtypes.client.Constants class that provides a way to
|
|
301
|
+
access constants in the type library for an object, even when
|
|
302
|
+
no wrapper has been created for the type library. The
|
|
303
|
+
contants can be accessed as attributes like this, assuming
|
|
304
|
+
'obj' is a COM object that exposes type information at runtime
|
|
305
|
+
via the dispatch interface:
|
|
306
|
+
Constants(obj).MyConstant
|
|
307
|
+
|
|
308
|
+
* New comtypes.client.lazybind module.
|
|
309
|
+
|
|
310
|
+
* Implement NamedProperty.__call__(). Extend
|
|
311
|
+
NamedProperty.__getitem__() and NamedProperty.__setitem__() so
|
|
312
|
+
that they accept a tuple, which make lazy bound objects more
|
|
313
|
+
compatible with early bound objects.
|
|
314
|
+
|
|
315
|
+
* Finished (for now) the comtypes.client.lazybind module.
|
|
316
|
+
IEnumVARIANT instances get a _dynamic attribute which defaults
|
|
317
|
+
to False. The values returned from next() calls are retrived
|
|
318
|
+
by calling ._set_value(self._dynamic) on the VARIANT result.
|
|
319
|
+
|
|
320
|
+
* comtypes.client.dynamic:
|
|
321
|
+
|
|
322
|
+
* Started changes based on ideas from Michael Curran: better
|
|
323
|
+
dynamic dispatch support, and a way to disable the
|
|
324
|
+
time-consuming wrapper code generation on demand.
|
|
325
|
+
|
|
326
|
+
* comtypes\client: Add a new 'dynamic=False' parameter to the
|
|
327
|
+
CreateObject function. This parameter allows to create a
|
|
328
|
+
dynamic dispatch object, bypassing the code generation.
|
|
329
|
+
|
|
330
|
+
* comtypes\automation.py: Add a new parameter to the
|
|
331
|
+
VARIANT._get_value(dynamic=False) method. This allows to
|
|
332
|
+
retrieve the current value as a _Dispatch() instance if the
|
|
333
|
+
typecode is VT_DISPATCH, bypassing the code generation on the
|
|
334
|
+
result. The IDispatch.Invoke implementation now uses this to
|
|
335
|
+
ensure that dynamic objects are returned when possible.
|
|
336
|
+
|
|
337
|
+
* comtypes\client\dynamic.py: Implement _Dispatch.__eq__ so
|
|
338
|
+
that we can compare instances for equality.
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
2008-12-12 Thomas Heller <theller@python.net>
|
|
342
|
+
|
|
343
|
+
* Bumped version number to 0.5.3.
|
|
344
|
+
|
|
345
|
+
* Added VARIANT support for VT_I8 and VT_UI8 typecodes.
|
|
346
|
+
|
|
347
|
+
2008-12-11 Thomas Heller <theller@python.net>
|
|
348
|
+
|
|
349
|
+
* Workaround for Python bug: Python 3 cannot handle a distutils
|
|
350
|
+
installscript in the setup script
|
|
351
|
+
|
|
352
|
+
* Merged the py3-branch:
|
|
353
|
+
|
|
354
|
+
Various changes for py3 compatibility. The setup script now uses
|
|
355
|
+
distutils.command.build_py.build_py_2to3 when run with Python 3.x,
|
|
356
|
+
and converts the sources into py3 syntax on the fly (in the build
|
|
357
|
+
directory).
|
|
358
|
+
|
|
359
|
+
2008-11-26 Thomas Heller <theller@python.net>
|
|
360
|
+
|
|
361
|
+
* Added untested code to comtypes.server: RegisterActiveObject()
|
|
362
|
+
and RevokeActiveObject(), plus some flags.
|
|
363
|
+
|
|
364
|
+
* Applied a patch from Torbjørn Tyridal. This allows to
|
|
365
|
+
high-level implement methods in COM servers, and event handler
|
|
366
|
+
methods that have [in] and [out] arguments in mixed order.
|
|
367
|
+
|
|
368
|
+
2008-11-05 Thomas Heller <theller@python.net>
|
|
369
|
+
|
|
370
|
+
* Add the IPersistFile interface to the comtypes.persist module.
|
|
371
|
+
Add comtypes.shelllink module which contains IShellLinkA and
|
|
372
|
+
IShellLinkW interfaces, plus the ShellLink coclass.
|
|
373
|
+
|
|
374
|
+
2008-10-29 Thomas Heller <theller@python.net>
|
|
375
|
+
|
|
376
|
+
* Handle coclass pointers as arguments in com interface methods
|
|
377
|
+
correctly. Method calls will now accept pointers to the default
|
|
378
|
+
interface of this coclass.
|
|
379
|
+
|
|
380
|
+
* The Fire_Event() method in comtypes.server.connectionpoints now
|
|
381
|
+
returns a list of results.
|
|
382
|
+
|
|
383
|
+
2008-10-10 Thomas Heller <theller@python.net>
|
|
384
|
+
|
|
385
|
+
* Import cStringIO, which should always be available on Windows,
|
|
386
|
+
instead of first trying cStringIO and then StringIO.
|
|
387
|
+
|
|
388
|
+
* Python 2.6 compatibility: use 'types.MethodType' instead of
|
|
389
|
+
'new.instancemethod' to fix a -3 warning.
|
|
390
|
+
|
|
391
|
+
Use 'raise Exception(details)' instead of
|
|
392
|
+
'raise Exception, details'.
|
|
393
|
+
|
|
394
|
+
Don't use tuple unpacking in exception handlers:
|
|
395
|
+
'except COMError, err:
|
|
396
|
+
(hresult, text, details) = err'
|
|
397
|
+
instead of
|
|
398
|
+
'except COMError, (hresult, text, details)'
|
|
399
|
+
|
|
400
|
+
* Python 2.4 compatibility: os.stat() raises OSError instead of
|
|
401
|
+
WindowsError when a file is not found.
|
|
402
|
+
|
|
403
|
+
2008-09-19 Thomas Heller <theller@python.net>
|
|
404
|
+
|
|
405
|
+
* Bump version number to 0.5.3dev.
|
|
406
|
+
|
|
407
|
+
* Bump version number to 0.5.2.
|
|
408
|
+
Released comtypes-0.5.2.
|
|
409
|
+
|
|
410
|
+
* COMError nows prints the contained hresult in hex.
|
|
411
|
+
|
|
412
|
+
2008-09-18 Thomas Heller <theller@python.net>
|
|
413
|
+
|
|
414
|
+
* Changed the version-checking code that the code generator
|
|
415
|
+
creates. Reintroduced (sorry, Anthony!) the comparison of
|
|
416
|
+
timestamps, if both the typelib and the generated module are
|
|
417
|
+
files.
|
|
418
|
+
|
|
419
|
+
2008-09-10 Thomas Heller <theller@python.net>
|
|
420
|
+
|
|
421
|
+
* In comtypes\_comobject.py, Invoke: Named arguments passed to
|
|
422
|
+
COMObject.IDispatch_Invoke are now (hopefully!) unpacked
|
|
423
|
+
correctly. This should fix the order of parameters passed to MS
|
|
424
|
+
office (Word, Excel) and other (autocad?) event handlers.
|
|
425
|
+
|
|
426
|
+
2008-09-04 Thomas Heller <theller@python.net>
|
|
427
|
+
|
|
428
|
+
* Removed the code that compared the timestamps of Python wrapper
|
|
429
|
+
modules and type library files - this approach was totally broken.
|
|
430
|
+
|
|
431
|
+
Generated modules are out of date if they were created by the code
|
|
432
|
+
generator module with a different version number; the version
|
|
433
|
+
number is now checked when a module is imported.
|
|
434
|
+
|
|
435
|
+
The current mechanism also works correctly for generated modules
|
|
436
|
+
in frozen scripts.
|
|
437
|
+
|
|
438
|
+
Thanks to Anthony Tuininga.
|
|
439
|
+
|
|
440
|
+
2008-08-27 Thomas Heller <theller@python.net>
|
|
441
|
+
|
|
442
|
+
* Avoid double-free of BSTR strings under certain conditions.
|
|
443
|
+
|
|
444
|
+
* A NULL handler is now added to the comtypes logger; this
|
|
445
|
+
prevents messages like 'No handlers could be found for logger
|
|
446
|
+
"comtypes"' when an error message is logged and the logging module
|
|
447
|
+
is not configured.
|
|
448
|
+
|
|
449
|
+
https://sourceforge.net/tracker/index.php?func=detail&aid=2066024&group_id=115265&atid=692940
|
|
450
|
+
|
|
451
|
+
2008-08-20 Thomas Heller <theller@python.net>
|
|
452
|
+
|
|
453
|
+
* Changed the codegenerator to generate 'c_longlong' instead of
|
|
454
|
+
'c_float' for CURRENCY. This is not really correct since the
|
|
455
|
+
CURRENCY value is a fixed point integer scaled by a factor of
|
|
456
|
+
10000, but at least the code will not crash. Need a test case.
|
|
457
|
+
|
|
458
|
+
* comtypes.server.register: Add an optional 'executable' parameter
|
|
459
|
+
to Registrar.register(cls), can be used to override the executable
|
|
460
|
+
image name that comtypes detects itself. Patch by Michael
|
|
461
|
+
Robellard.
|
|
462
|
+
|
|
463
|
+
2008-08-15 Thomas Heller <theller@python.net>
|
|
464
|
+
|
|
465
|
+
* comtypes.client._find_gen_dir() improved (based on a patch and
|
|
466
|
+
helpful thoughts of Stefan Schukat): If comtypes.gen is not a
|
|
467
|
+
directory in the filesystem, or not writeable by users, a new
|
|
468
|
+
directory is created which will cache generated code. This could
|
|
469
|
+
be the case if comtypes is installed in a directory that has no
|
|
470
|
+
write permissions by the urrent user, if the comtypes package
|
|
471
|
+
resides in a zip-archive or a zipped egg, or if comtypes is used
|
|
472
|
+
in a py2exe'd script.
|
|
473
|
+
|
|
474
|
+
'%APPDATA%\<username>\Python\Python<XY>\comtypes_cache'
|
|
475
|
+
|
|
476
|
+
is used for a normal Python script, for a py2exe frozen executables
|
|
477
|
+
the directory will be
|
|
478
|
+
|
|
479
|
+
'%TEMP%\comtypes_cache\<imagebasename>-<XY>'
|
|
480
|
+
|
|
481
|
+
where <imagebasename> is the basename without extension of the
|
|
482
|
+
frozen executable image, and <XY> is the major and minor Python
|
|
483
|
+
version number, '25' for example.
|
|
484
|
+
|
|
485
|
+
This makes sure that generated modules will *always* cached in the
|
|
486
|
+
file system.
|
|
487
|
+
|
|
488
|
+
2008-08-13 Thomas Heller <theller@python.net>
|
|
489
|
+
|
|
490
|
+
* comtypes\automation.py: Allow this module to be imported on
|
|
491
|
+
Windows CE. Using safearrays on Windows CE will not work. I'm not
|
|
492
|
+
sure if they are used much.
|
|
493
|
+
|
|
494
|
+
2008-08-08 Thomas Heller <theller@python.net>
|
|
495
|
+
|
|
496
|
+
* Implement InterlockedIncrement and InterlockedDecrement for
|
|
497
|
+
win64.
|
|
498
|
+
|
|
499
|
+
2008-08-07 Thomas Heller <theller@python.net>
|
|
500
|
+
|
|
501
|
+
* Bump version number to 0.5.1
|
|
502
|
+
|
|
503
|
+
* comtypes\tools\codegenerator.py: Change the order of the
|
|
504
|
+
interfaces in the _com_interfaces_ and _outgoing_interfaces_ list
|
|
505
|
+
so that the default interface is the first one. This fixes the
|
|
506
|
+
bug that GetEvents() and ShowEvents() sometimes did use the wrong
|
|
507
|
+
event interface.
|
|
508
|
+
|
|
509
|
+
2008-08-06 Thomas Heller <theller@python.net>
|
|
510
|
+
|
|
511
|
+
* The repository was moved from python.org to sourceforge.net.
|
|
512
|
+
The svn trunk URL is now:
|
|
513
|
+
https://comtypes.svn.sourceforge.net/svnroot/comtypes/trunk
|
|
514
|
+
|
|
515
|
+
The script that extracted the repository is in
|
|
516
|
+
admin/extract_comtypes_repo. The repository structure and the
|
|
517
|
+
revision numbers have changed; the last revision on python.org is
|
|
518
|
+
rev 65336, this was imported as revision rev 355.
|
|
519
|
+
|
|
520
|
+
2008-07-18 Thomas Heller <theller@python.net>
|
|
521
|
+
|
|
522
|
+
* comtypes\test\find_memleak.py: Windows CE does not have
|
|
523
|
+
GetProcessMemoryInfo; disable the find_memleak function because it
|
|
524
|
+
cannot work.
|
|
525
|
+
|
|
526
|
+
* comtypes\client\_generate.py, comtypes\typeinfo.py: Windows CE
|
|
527
|
+
doesn't have QueryPathOfRegTypeLib - try to emulate it. Also it
|
|
528
|
+
doesn't use tha PATH environment variable; use a hardcoded search
|
|
529
|
+
path for type libraries.
|
|
530
|
+
|
|
531
|
+
* comtypes\test\runtests.py: Define a main() function.
|
|
532
|
+
|
|
533
|
+
2008-05-29 Thomas Heller <theller@python.net>
|
|
534
|
+
|
|
535
|
+
* Improved the [in, out] parameter workaround. These parameters
|
|
536
|
+
are now optional. Removed the special codegeneration for [in,
|
|
537
|
+
out] parameters in IEnumXXX.Next methods. Added test.
|
|
538
|
+
|
|
539
|
+
2008-05-16 Thomas Heller <theller@python.net>
|
|
540
|
+
|
|
541
|
+
* Provide a workaround for a bug in ctypes. This allows methods
|
|
542
|
+
using [in, out] parameters to correctly convert native Python
|
|
543
|
+
values.
|
|
544
|
+
|
|
545
|
+
* comtypes/tools/tlbparser.py: When GetRefTypeInfo(hreftype)
|
|
546
|
+
fails, emit a warning and generate a fake type instead.
|
|
547
|
+
|
|
548
|
+
2008-05-07 Thomas Heller <theller@python.net>
|
|
549
|
+
|
|
550
|
+
* Fixed the definition of VARIANT.empty and VARIANT.null; the
|
|
551
|
+
values were swapped.
|
|
552
|
+
https://sourceforge.net/tracker/?func=detail&atid=692940&aid=1959722&group_id=115265
|
|
553
|
+
|
|
554
|
+
2008-04-25 Thomas Heller <theller@python.net>
|
|
555
|
+
|
|
556
|
+
* Replace logger.info() calls with logger.debug() since it is more
|
|
557
|
+
appropriate.
|
|
558
|
+
|
|
559
|
+
In comtypes.server.connectionpoints, when a event notification
|
|
560
|
+
fails with an error indicating that the event sink is no longer
|
|
561
|
+
present, close the connection and log a warning.
|
|
562
|
+
|
|
563
|
+
The __repr__ of VARIANT changed again to make it a little bit shorter.
|
|
564
|
+
|
|
565
|
+
VARIANT instances of VT_BREF are NOT unpacked when the .value
|
|
566
|
+
attribute as accessed. The value instead can be got or set by
|
|
567
|
+
indexing, so the api is the same as for pointer instances:
|
|
568
|
+
|
|
569
|
+
print byref_var[0]
|
|
570
|
+
byref_var[0] = value
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
2008-04-17 Thomas Heller <theller@python.net>
|
|
574
|
+
|
|
575
|
+
* More changes merged from upstream svn 26400, add support for
|
|
576
|
+
implementing (non-dual) dispinterfaces (work in progress).
|
|
577
|
+
|
|
578
|
+
* Merge in a lot of changes from the private upstream repository
|
|
579
|
+
26394; mainly much better support for implementing comtypes
|
|
580
|
+
servers.
|
|
581
|
+
|
|
582
|
+
2008-04-09 Thomas Heller <theller@python.net>
|
|
583
|
+
|
|
584
|
+
* Bump version number to 0.4.3a
|
|
585
|
+
|
|
586
|
+
* Released version comtypes 0.4.2.
|
|
587
|
+
|
|
588
|
+
* comtypes.util: New module, containing the byref_at() and
|
|
589
|
+
cast_field() helper functions.
|
|
590
|
+
|
|
591
|
+
2008-04-07 Thomas Heller <theller@python.net>
|
|
592
|
+
|
|
593
|
+
* Fix the codegenerator to handle all kinds of IEnumXXX::Next
|
|
594
|
+
method signatures; the second and third parameters may be [out] or
|
|
595
|
+
[in, out].
|
|
596
|
+
|
|
597
|
+
2008-03-07 Thomas Heller <theller@python.net>
|
|
598
|
+
|
|
599
|
+
* Implemented support for SAFEARRAYs containing com interface
|
|
600
|
+
pointers.
|
|
601
|
+
|
|
602
|
+
2008-03-04 Thomas Heller <theller@python.net>
|
|
603
|
+
|
|
604
|
+
* Add comtypes.client.gen_dir to comtypes.gen.__path__ so that the
|
|
605
|
+
codegenerator can import its generated module(s).
|
|
606
|
+
|
|
607
|
+
2008-02-08 Thomas Heller <theller@python.net>
|
|
608
|
+
|
|
609
|
+
* Hacked support for 'open array' [out] parameters in COM methods.
|
|
610
|
+
These are arrays that have both size_is() and length_is() in IDL.
|
|
611
|
+
See the comments in comtypes\tools\codegenerator.py, search for
|
|
612
|
+
'OPENARRAY'.
|
|
613
|
+
|
|
614
|
+
2008-02-06 Thomas Heller <theller@python.net>
|
|
615
|
+
|
|
616
|
+
* The badly named comtypes.client.wrap function was renamed into
|
|
617
|
+
comtypes.client.GetBestInterface. For backwards compatibility the
|
|
618
|
+
old name stays as an alias.
|
|
619
|
+
|
|
620
|
+
* Replaced the comtypes.messageloop.add_filter(filter) function
|
|
621
|
+
with comtypes-messageloop.insert_filter(index, filter). This
|
|
622
|
+
allows to specify the order in which the filters are applied.
|
|
623
|
+
|
|
624
|
+
* Added a workaround for the buggy _ctypes.COMError in Python 2.5
|
|
625
|
+
and 2.51.
|
|
626
|
+
|
|
627
|
+
2007-12-19 Thomas Heller <theller@python.net>
|
|
628
|
+
|
|
629
|
+
* Bump version number to 0.4.2.
|
|
630
|
+
|
|
631
|
+
* Special methods (__iter__ and so on) did not work on
|
|
632
|
+
dispinterfaces, because the __map_case__ dictionary was not
|
|
633
|
+
populated.
|
|
634
|
+
|
|
635
|
+
2007-11-23 Thomas Heller <theller@python.net>
|
|
636
|
+
|
|
637
|
+
* Released version comtypes 0.4.1.
|
|
638
|
+
|
|
639
|
+
* Add a PumpEvents(timeout) function to comtypes.client. This
|
|
640
|
+
function calls the win32 CoWaitForMultipleHandles() function which
|
|
641
|
+
will wait in a way compatible with all types of apartments;
|
|
642
|
+
additionally this function can be interrupted with Control+C.
|
|
643
|
+
|
|
644
|
+
2007-11-21 Thomas Heller <theller@python.net>
|
|
645
|
+
|
|
646
|
+
* comtypes\__init__.py: Add docstrings to special methods. Make
|
|
647
|
+
named_property a data descriptor by providing a __set__ method
|
|
648
|
+
(which will raise AttributeError when called).
|
|
649
|
+
|
|
650
|
+
2007-11-15 Thomas Heller <theller@python.net>
|
|
651
|
+
|
|
652
|
+
* comtypes\__init__.py: Fix bound_named_property.__setitem__ so
|
|
653
|
+
that COM properties can be set that require zero or more than one
|
|
654
|
+
arguments.
|
|
655
|
+
|
|
656
|
+
* comtypes\__init__.py: Restructure the code that extend the COM
|
|
657
|
+
interface subclasses with __len__, __call__, __getitem__, and
|
|
658
|
+
__iter__ methods. This is done with the comtypes.partial module,
|
|
659
|
+
and apparently had strange behaviour when the code is run under a
|
|
660
|
+
debugger.
|
|
661
|
+
|
|
662
|
+
2007-11-07 Thomas Heller <theller@python.net>
|
|
663
|
+
|
|
664
|
+
* Changed version number to 0.4.1.
|
|
665
|
+
|
|
666
|
+
* Add an post-install script that will (after confirmation) remove
|
|
667
|
+
the comtypes\gen directory containing the generated modules.
|
|
668
|
+
|
|
669
|
+
2007-11-02 Thomas Heller <theller@python.net>
|
|
670
|
+
|
|
671
|
+
* Bump version number to 0.4.0.
|
|
672
|
+
Released version 0.4.0.
|
|
673
|
+
|
|
674
|
+
* In _wrap_coclass, attach a __clsid attribute to the returned
|
|
675
|
+
object. This allows, for example, to find outgoing interfaces when
|
|
676
|
+
a CoClass is returned from a COM method call.
|
|
677
|
+
|
|
678
|
+
2007-10-26 Thomas Heller <theller@python.net>
|
|
679
|
+
|
|
680
|
+
* Implemented property get, put, and putref with arguments
|
|
681
|
+
in comtypes.client.dynamic.
|
|
682
|
+
|
|
683
|
+
* When a COM property has both propput and propputref accessor
|
|
684
|
+
methods, the Python property fset methods determines the type of
|
|
685
|
+
the argument.
|
|
686
|
+
|
|
687
|
+
If the argument is a COM interface pointer, or a VARIANT
|
|
688
|
+
containing one, then propputref is called, otherwise proput is
|
|
689
|
+
called to set the property.
|
|
690
|
+
|
|
691
|
+
* Allow the creation of SAFEARRAY(UDT) types even if the UDT has
|
|
692
|
+
no _recordinfo_. Creating instances of these types will fail
|
|
693
|
+
however since no IRecordInfo pointer can be created. This change
|
|
694
|
+
allows to import typelib wrappers that have UDTs without guids.
|
|
695
|
+
|
|
696
|
+
2007-10-24 Thomas Heller <theller@python.net>
|
|
697
|
+
|
|
698
|
+
* When a COM property has a 'propputref' but no 'propput' accessor
|
|
699
|
+
method, use the former in the same way as a 'propput' would work.
|
|
700
|
+
When both 'propputref' and 'propput' are present, raise a
|
|
701
|
+
TypeError because we cannot handle this case for now.
|
|
702
|
+
|
|
703
|
+
* Fixed infinit recursion error in __getattr__ implementation.
|
|
704
|
+
|
|
705
|
+
* comtypes.dynamic._Dispatch now implements a __setattr__ methods
|
|
706
|
+
that will call to Invoke() with DISPATCH_PROPERTYPUT or
|
|
707
|
+
DISPATCH_PROPERTYPUTREF.
|
|
708
|
+
|
|
709
|
+
* Handle DISPATCH_PROPERTYPUTREF in IDispatch.Invoke
|
|
710
|
+
implementation.
|
|
711
|
+
|
|
712
|
+
* comtypes.dynamic._Dispatch objects can now be used as VARIANT
|
|
713
|
+
value.
|
|
714
|
+
|
|
715
|
+
2007-10-22 Thomas Heller <theller@python.net>
|
|
716
|
+
|
|
717
|
+
* The repr of a COM pointer instance now includes the pointer
|
|
718
|
+
value for easier debugging.
|
|
719
|
+
|
|
720
|
+
2007-10-17 Thomas Heller <theller@python.net>
|
|
721
|
+
|
|
722
|
+
* Disable the VT_UNKNOWN and VT_DISPATCH safearray codes, they do
|
|
723
|
+
not work yet.
|
|
724
|
+
|
|
725
|
+
* More multidimensional safearray tests, bug fixes.
|
|
726
|
+
|
|
727
|
+
* Speed up the unpacking of 1- and 2-dimensional safearrays.
|
|
728
|
+
|
|
729
|
+
* Lots of refatoring of the new SAFEARRAY code; added a docstring
|
|
730
|
+
to the public function comtypes.safearray._midlSAFEARRAY.
|
|
731
|
+
|
|
732
|
+
* For easier debugging, the repr of a VARIANT instance now
|
|
733
|
+
contains the vartype.
|
|
734
|
+
|
|
735
|
+
2007-10-16 Thomas Heller <theller@python.net>
|
|
736
|
+
|
|
737
|
+
* Changed version number to 0.3.4.
|
|
738
|
+
|
|
739
|
+
* Mega-patch: Completely rewritten safearray support. SAFERARRAYs
|
|
740
|
+
are now automatically converted to Python tuples when they are
|
|
741
|
+
received as [out] parameters in COM methods, and sequences are
|
|
742
|
+
accepted as SAFEARRAY [in] parameters. Multidimensional safearray
|
|
743
|
+
support still has to be added.
|
|
744
|
+
|
|
745
|
+
* VARIANTs can now also contain SAFEARRAYs. VARIANTs containing
|
|
746
|
+
SAFEARRAYs with a typecode other than VT_VARIANT, Python
|
|
747
|
+
array.array instances can be used.
|
|
748
|
+
|
|
749
|
+
* Added a comtypes.messageloop module that contains a simple
|
|
750
|
+
messageloop which allows to add and remove custom filter functions.
|
|
751
|
+
|
|
752
|
+
* Removed the comtypes.client.PumpWaitingMessages function.
|
|
753
|
+
|
|
754
|
+
* Fixed the codegenerator so that it handles unnamed method
|
|
755
|
+
parameters.
|
|
756
|
+
|
|
757
|
+
2007-10-04 Thomas Heller <theller@python.net>
|
|
758
|
+
|
|
759
|
+
* Several refactorings and a small bugfix from the upstream
|
|
760
|
+
repository.
|
|
761
|
+
|
|
762
|
+
* In the comtypes\gen\... type library wrappers, the code
|
|
763
|
+
generator now creates a commented out template that shows an
|
|
764
|
+
implementation for each interface it wraps.
|
|
765
|
+
|
|
766
|
+
2007-10-02 Thomas Heller <theller@python.net>
|
|
767
|
+
|
|
768
|
+
* comtypes.safearray.UnpackSafeArray can now unpack SAFEARRAYs
|
|
769
|
+
that containt UDT (user defined data types). Patch by Rimon Barr,
|
|
770
|
+
testcase by me.
|
|
771
|
+
|
|
772
|
+
2007-09-14 Thomas Heller <theller@python.net>
|
|
773
|
+
|
|
774
|
+
* Released version 0.3.3.
|
|
775
|
+
|
|
776
|
+
2007-09-12 Thomas Heller <theller@python.net>
|
|
777
|
+
|
|
778
|
+
* Bump version number to 0.3.3.
|
|
779
|
+
|
|
780
|
+
2007-09-03 Thomas Heller <theller@python.net>
|
|
781
|
+
|
|
782
|
+
* Add the partial module, which allows the usual class statement
|
|
783
|
+
syntax to attach methods to already existing classes.
|
|
784
|
+
|
|
785
|
+
* Use partial in comtypes.automation to attach methods to
|
|
786
|
+
POINTER(VARIANT).
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
2007-08-24 Thomas Heller <theller@python.net>
|
|
790
|
+
|
|
791
|
+
* Added a custom outgoing interface to TestComServer.idl.
|
|
792
|
+
Implemented IConnectionPointContainer in TestComServer.py.
|
|
793
|
+
|
|
794
|
+
* comtypes.server.automation: Fix the IProvideClassInfo2.GetGUID
|
|
795
|
+
implementation.
|
|
796
|
+
|
|
797
|
+
* comtypes.client: Fix ShowEvents(): COM methods must return a
|
|
798
|
+
HRESULT value, not None. Fix several NameErrors in the
|
|
799
|
+
PumpWaitingMessages function.
|
|
800
|
+
|
|
801
|
+
2007-08-14 Thomas Heller <theller@python.net>
|
|
802
|
+
|
|
803
|
+
* comtypes\tools\codegenerator.py: Generate the needed imports
|
|
804
|
+
when COM defaultvalues are used in parameter lists.
|
|
805
|
+
|
|
806
|
+
2007-08-10 Thomas Heller <theller@python.net>
|
|
807
|
+
|
|
808
|
+
* Add comtypes.client.PumpWaitingMessages() helper funtion. May
|
|
809
|
+
be used to dispatch COM events in single threaded appartments.
|
|
810
|
+
|
|
811
|
+
2007-08-09 Thomas Heller <theller@python.net>
|
|
812
|
+
|
|
813
|
+
* Added the IRecordInfo interface to comtypes.typeinfo.
|
|
814
|
+
|
|
815
|
+
* If UDTs (structures or unions) in a typelib have a GUID defined,
|
|
816
|
+
add a _recordinfo_ attribute to the generated code. This allows
|
|
817
|
+
to call GetRecordInfoFromGuids(*_recordinfo_) to get an
|
|
818
|
+
IRecordInfo pointer.
|
|
819
|
+
|
|
820
|
+
* Released comtypes-0.3.2
|
|
821
|
+
|
|
822
|
+
2007-08-08 Thomas Heller <theller@python.net>
|
|
823
|
+
|
|
824
|
+
* Add better support for dynamic dispatch, comtypes.CoUninitialize
|
|
825
|
+
function. Patch from Belyaev Dmitry.
|
|
826
|
+
|
|
827
|
+
2007-03-23 Thomas Heller <theller@python.net>
|
|
828
|
+
|
|
829
|
+
* Fixed: TextWrap did destroy the generated code when very long
|
|
830
|
+
symbol names used were in the type library.
|
|
831
|
+
|
|
832
|
+
* The IEnumVARIANT.Next(celt) method can now be called with
|
|
833
|
+
celt != 1. It will return a list of items then; this allows to get
|
|
834
|
+
more objects at a time.
|
|
835
|
+
|
|
836
|
+
2007-03-22 Thomas Heller <theller@python.net>
|
|
837
|
+
|
|
838
|
+
* In comtypes.hresult, add the hex HRESULT values in comments for
|
|
839
|
+
reference.
|
|
840
|
+
|
|
841
|
+
* In comtypes.errorinfo.ReportError, use the supplied hresult
|
|
842
|
+
value.
|
|
843
|
+
|
|
844
|
+
* Improved _NewEnum client-side handling.
|
|
845
|
+
|
|
846
|
+
* When a relative pathname to a type library is passed to
|
|
847
|
+
comtypes.client.GetModule(), the pathname is now interpreted
|
|
848
|
+
relative to the __file__ of the caller if this pathname actually
|
|
849
|
+
exists in the filesystem.
|
|
850
|
+
|
|
851
|
+
* Fixed several memory leaks and other problems in the BSTR
|
|
852
|
+
implementation. The previous change that requires ctypes version
|
|
853
|
+
1.0.2 was backed out again because it was the wrong approach.
|
|
854
|
+
|
|
855
|
+
2007-01-25 Thomas Heller <theller@python.net>
|
|
856
|
+
|
|
857
|
+
NOTE: This comment is no longer true, see above.
|
|
858
|
+
* Removed unneeded methods from comtypes.BSTR. The resource
|
|
859
|
+
management is handled by ctypes; this requires ctypes version
|
|
860
|
+
1.0.2 to correctly release BSTR resources.
|
|
861
|
+
|
|
862
|
+
2007-01-19 Thomas Heller <theller@python.net>
|
|
863
|
+
|
|
864
|
+
* The comtypes.test package is now self contained, it does no
|
|
865
|
+
longer depend on ctypes.test which may not be available.
|
|
866
|
+
|
|
867
|
+
2007-01-16 Thomas Heller <theller@python.net>
|
|
868
|
+
|
|
869
|
+
* comtypes.tools.tlbparser: Sort interface methods by VTable order
|
|
870
|
+
(there are typeinfos that list the methods in a different order).
|
|
871
|
+
|
|
872
|
+
2007-01-11 Thomas Heller <theller@python.net>
|
|
873
|
+
|
|
874
|
+
* comtypes codegenerator: Do not hardcode pointer and VARIANT size
|
|
875
|
+
and alignment. This fixes code generation issues on 64-bit
|
|
876
|
+
Windows.
|
|
877
|
+
|
|
878
|
+
* comtypes.automation: Fix size of VARIANT definition for 64-bit
|
|
879
|
+
Windows.
|
|
880
|
+
|
|
881
|
+
2007-01-10 Thomas Heller <theller@python.net>
|
|
882
|
+
|
|
883
|
+
* (Re-)Added comtypes.__version__ again, and set it to "0.3.2".
|
|
884
|
+
|
|
885
|
+
* Removed assert statements about sizeof() and alingment() of
|
|
886
|
+
generated Structure subclasses for portability to 64-bit Windows.
|
|
887
|
+
|
|
888
|
+
* Iterating over COM collections retrived the _NewEnum property
|
|
889
|
+
twice.
|
|
890
|
+
|
|
891
|
+
* Cleaned up the codegeneration. Generated modules now have a
|
|
892
|
+
'typelib_path' variable that points to the type library used to
|
|
893
|
+
generate them, 'CoClass' subclasses have '_typelib_path_' which is
|
|
894
|
+
used for registration.
|
|
895
|
+
|
|
896
|
+
2007-01-02 Thomas Heller <theller@python.net>
|
|
897
|
+
|
|
898
|
+
* comtypes\client\_generate.py: Make sure that generated modules
|
|
899
|
+
have a __file__ attribute, even if gen_dir is None. The filename
|
|
900
|
+
part of the __file__ attribute is '<memory>' in this case.
|
|
901
|
+
|
|
902
|
+
2006-12-20 Thomas Heller <theller@python.net>
|
|
903
|
+
|
|
904
|
+
* comtypes.client.GetModule now recreates the Python module
|
|
905
|
+
automatically if the type library file timestamp is newer than the
|
|
906
|
+
module. The actual code for GetModule now lives in a separate
|
|
907
|
+
module comtypes.client._generate, but the GetModule symbol is
|
|
908
|
+
still exposed from comtypes.client.
|
|
909
|
+
|
|
910
|
+
* COM method implementations are now found doing case insensitive
|
|
911
|
+
lookup if the interfaces "_case_insensitivity_" attribute is True.
|
|
912
|
+
|
|
913
|
+
* Some memory leaks with BSTR have been fixed.
|
|
914
|
+
|
|
915
|
+
2006-12-13 Thomas Heller <theller@python.net>
|
|
916
|
+
|
|
917
|
+
* Fix the case insensitivity for COM interfaces (client-side only,
|
|
918
|
+
so far): If the Python interface class has a "_case_insensitive_"
|
|
919
|
+
attribute which is True, access of methods and properties is case
|
|
920
|
+
insensitive.
|
|
921
|
+
|
|
922
|
+
By default, this attribute is set to True in interfaces generated
|
|
923
|
+
from type libraries, because type libraries generally don't
|
|
924
|
+
preserve the casing of identifiers from IDL interface definitions.
|
|
925
|
+
|
|
926
|
+
2006-12-06 Thomas Heller <theller@python.net>
|
|
927
|
+
|
|
928
|
+
* Fix comtypes.test.test_typeinfo to work when either IE6 or IE7
|
|
929
|
+
is installed.
|
|
930
|
+
|
|
931
|
+
* comtypes.hresult: Add MAKE_HRESULT and HRESULT_FROM_WIN32
|
|
932
|
+
functions which return HRESULT values.
|
|
933
|
+
|
|
934
|
+
* Receive events from the event interface plus all the super
|
|
935
|
+
interfaces.
|
|
936
|
+
|
|
937
|
+
* When a NULL IDispatch pointer is received as an [out] parameter,
|
|
938
|
+
return None instead of the NULL pointer.
|
|
939
|
+
|
|
940
|
+
* Changed the way COM is shut down. No longer a need to call the
|
|
941
|
+
possibly expensive (or dangerous?) _is_com_initialized.
|
|
942
|
+
|
|
943
|
+
2006-11-15 Thomas Heller <theller@python.net>
|
|
944
|
+
|
|
945
|
+
* comtypes.client._events.GetEvents: Catch the exception when
|
|
946
|
+
IProvideClassInfo::GetGUID fails, and try the next strategy for
|
|
947
|
+
finding the outgoing interface.
|
|
948
|
+
|
|
949
|
+
* comtypes now has a __version__ attribute. This is set to
|
|
950
|
+
"0.3.1". Added test command to the setup script.
|
|
951
|
+
|
|
952
|
+
* New function comtypes.client.ShowEvents(source, interface=None).
|
|
953
|
+
This function is useful for debugging; it connects the source
|
|
954
|
+
object to a special event receiver that will first print out all
|
|
955
|
+
the event names, and later print out the events as they occur.
|
|
956
|
+
|
|
957
|
+
2006-08-04 Thomas Heller <theller@python.net>
|
|
958
|
+
|
|
959
|
+
* Fixed quite some tests to work or be skipped on Windows CE.
|
|
960
|
+
|
|
961
|
+
* comtypes\typesinfo.py: Added ICreateTypeLib2 interface, and
|
|
962
|
+
changed the CreateTypeLib function to return a pointer to that
|
|
963
|
+
interface.
|
|
964
|
+
|
|
965
|
+
* Added a COM server for testing to the comtypes.test package,
|
|
966
|
+
plus tests for it. There are still several memory leaks in
|
|
967
|
+
comtypes, as the tests show.
|
|
968
|
+
|
|
969
|
+
2006-08-03 Thomas Heller <theller@python.net>
|
|
970
|
+
|
|
971
|
+
* comtypes\server\register.py: For localserver, the wrong script
|
|
972
|
+
was registered when the class was not in a toplevel module.
|
|
973
|
+
|
|
974
|
+
2006-08-02 Thomas Heller <theller@python.net>
|
|
975
|
+
|
|
976
|
+
* Version number changed to 0.3.0, added 'comtypes.server' package
|
|
977
|
+
to the setup script.
|
|
978
|
+
|
|
979
|
+
* Merged in a LOT of changes from the upstream version.
|
|
980
|
+
For details see the svn commit messages.
|
|
981
|
+
|
|
982
|
+
The most prominent changes are:
|
|
983
|
+
|
|
984
|
+
- The strings returned by ITypeInfo::GetDocumentation() do not
|
|
985
|
+
contain NUL characters any more (some buggy typelibs contain them)
|
|
986
|
+
|
|
987
|
+
- comtypes.client.GetEvents returns a 'connection object', which
|
|
988
|
+
will UnAdvise the connection when deleted. In other words, you
|
|
989
|
+
must keep the return value of the GetEvents call as long as you
|
|
990
|
+
want to reveive events.
|
|
991
|
+
|
|
992
|
+
- Pointer to COM interface pointer instances __setitem__ method manages
|
|
993
|
+
the COM refcount correctly.
|
|
994
|
+
|
|
995
|
+
- Changes in the COM shutdown code: maybe the win32com way of
|
|
996
|
+
never calling CoUninitialize() is the best compromise ;-), but I
|
|
997
|
+
have not yet given up.
|
|
998
|
+
|
|
999
|
+
2006-07-11 Thomas Heller <theller@python.net>
|
|
1000
|
+
|
|
1001
|
+
* Imported comtypes 0.2.1 into the python.org svn repository.
|
|
1002
|
+
|
|
1003
|
+
2006-04-25 Thomas Heller <theller@python.net>
|
|
1004
|
+
|
|
1005
|
+
* Released version 0.2.1 (svn revision 8).
|
|
1006
|
+
|
|
1007
|
+
2006-03-07 Thomas Heller <theller@python.net>
|
|
1008
|
+
|
|
1009
|
+
* Imported comtypes from the ctypes CVS repository into the
|
|
1010
|
+
comtypes SVN repository.
|
|
1011
|
+
|
|
1012
|
+
2006-03-03 Thomas Heller <theller@python.net>
|
|
1013
|
+
|
|
1014
|
+
* (Repository): Move the code generator modules into the
|
|
1015
|
+
comtypes.tools package. Should be refactored later - most
|
|
1016
|
+
important is now that it works again.
|
|
1017
|
+
|
|
1018
|
+
2006-02-11 Thomas Heller <theller@python.net>
|
|
1019
|
+
|
|
1020
|
+
* Merged in lots of changes from the upstream version. Started
|
|
1021
|
+
localserver support.
|
|
1022
|
+
|
|
1023
|
+
2005-10-20 Thomas Heller <theller@python.net>
|
|
1024
|
+
|
|
1025
|
+
* comtypes\__init__.py: Add logging for easier debugging. Add
|
|
1026
|
+
COINIT_... flags. Use the value of sys.coinit_flags (when
|
|
1027
|
+
defined) in the call to CoInitializeEx, this allows to use
|
|
1028
|
+
multithreaded appartments.
|
|
1029
|
+
|
|
1030
|
+
Clean up the lifetime management of implemented COM objects. Make
|
|
1031
|
+
COM attribute access case insensitive (has a large impact on the
|
|
1032
|
+
performance, unfortunately).
|
|
1033
|
+
|
|
1034
|
+
Move the COMObject definition in a separate module
|
|
1035
|
+
comtypes\_comobject.py.
|
|
1036
|
+
|
|
1037
|
+
* comtypes\tools\codegenerator.py: Don't generate dispid() for
|
|
1038
|
+
non-dispatch based interfaces.
|
|
1039
|
+
|
|
1040
|
+
* comtypes\client\__init__.py: Add logging for easier debugging.
|
|
1041
|
+
|
|
1042
|
+
* comtypes\persist.py: Remove dispid() from non-dispatch based
|
|
1043
|
+
interfaces. Correct the Read method. Hack around the
|
|
1044
|
+
POINTER(c_wchar) <-> c_wchar_p problem.
|
|
1045
|
+
|
|
1046
|
+
2005-10-11 Thomas Heller <theller@python.net>
|
|
1047
|
+
|
|
1048
|
+
* comtypes\client\__init__.py: Renamed CreateModule() into
|
|
1049
|
+
GetModule(). Removed the 'modulename' parameter from all the
|
|
1050
|
+
function calls - the typelib wrapper alias name is now taken from
|
|
1051
|
+
the typelib library name. Suggestions from Bruce Dodson.
|
|
1052
|
+
|
|
1053
|
+
2005-09-29 Thomas Heller <theller@python.net>
|
|
1054
|
+
|
|
1055
|
+
* comtypes\GUID.py: Rename the GUID.progid() classmethod into
|
|
1056
|
+
GUID.as_progid().
|
|
1057
|
+
|
|
1058
|
+
2005-09-02 Thomas Heller <theller@python.net>
|
|
1059
|
+
|
|
1060
|
+
* comtypes\client\__init__.py: Can now receive events from custom,
|
|
1061
|
+
non-dispatch interfaces.
|