Mark Hammond wrote: >Try leaving the events class as an "old style" class (ie, don't derive from >object) > > Hmm.. I did that, and got pretty much the same output - does this stack trace help at all? The code listed at the bottom is my complete code for my test. I don't need anything else to do this do I?
############ Stack trace [start] AttributeError: '<win32com.client.COMEventClass instance at 0x12535288>' object has no attribute '_typelib_guid_' Traceback (innermost last): File "c:\Documents and Settings\Me\My Documents\Work\eXpressPayAdvantage\XPayAdv\directest2.py", line 1, in ? from win32com.client import DispatchWithEvents File "c:\Documents and Settings\Me\My Documents\Work\eXpressPayAdvantage\XPayAdv\directest2.py", line 16, in ? swiper = DispatchWithEvents('ctlUSBHID.USBHID', SwiperEvents) File "C:\Python24\Lib\site-packages\win32com\client\__init__.py", line 266, in DispatchWithEvents events_class.__init__(instance, instance) File "C:\Python24\Lib\site-packages\win32com\gen_py\158336E7-3FF3-456E-912C-5985E9BBED24x0x1x1.py", line 104, in __init__ cookie=cp.Advise(win32com.server.util.wrap(self, usePolicy=EventHandlerPolicy)) File "C:\Python24\Lib\site-packages\win32com\server\util.py", line 23, in wrap ob = usePolicy(ob) File "C:\Python24\Lib\site-packages\win32com\server\policy.py", line 189, in __init__ self._wrap_(object) File "C:\Python24\Lib\site-packages\win32com\server\policy.py", line 463, in _wrap_ tlb_guid = getattr(ob, '_typelib_guid_', None) File "C:\Python24\Lib\site-packages\win32com\client\__init__.py", line 454, in __getattr__ raise AttributeError, "'%s' object has no attribute '%s'" % (repr(self), attr) ############ Stack trace [end] ############ Code (current) [start] from win32com.client import DispatchWithEvents import pythoncom class SwiperEvents: def OnCardDataChanged(self, Source=pythoncom.Missing, CursorType=pythoncom.Missing, LockType=pythoncom.Missing, Options=pythoncom.Missing, adStatus=pythoncom.Missing, pCommand=pythoncom.Missing, pRecordset=pythoncom.Missing, pConnection=pythoncom.Missing): print "Handler called!" swiper = DispatchWithEvents('ctlUSBHID.USBHID', SwiperEvents) print swiper.PortOpen swiper.PortOpen = True swiper.ClearBuffer() print swiper.PortOpen ############ Code (current) [end] _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32