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
[email protected]
http://mail.python.org/mailman/listinfo/python-win32