On 24-Aug-07 21:08, [EMAIL PROTECTED] wrote: > I assume the event is handled by TWO receivers: The first is the one > created by ShowEvents(), the second one is your object that has the > PLCSimStateChanged method you quoted above. > > Returning 0 from the PLCSimStateChanged method is correct (the return > value is a HRESULT which is a 32-bit integer value, 0 is S_OK which > means everything worked). In this case, only the method in the event > handler of ShowEvents raised the exception; in the second case where you > returned 'None' two exceptions are raised. > > Looking at the code it seems that some code in the comtypes.client._events > module is buggy: can you please change line 164 from this code: > > mth = getattr(sink, name, lambda self, this, *args: None) > > to this code: > > mth = getattr(sink, name, lambda self, this, *args: 0) > > and try again? > > Thomas > That change did not give me anything visibly different. However, your remark about ShowEvents set me thinking, and I changed the following: after comtype.client._events.py, line 197:
print "Event %s(%s)" % (name, ", ".join([repr(a) for a in args])) I added a line return 0 to make the generic event handler return S_OK instead of None. No error messages any more. Perhaps for 0.3.2.1? :-) Cheers, Len. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ comtypes-users mailing list comtypes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/comtypes-users