Hello, I'm trying to use win32com to access a COM object with Events. After some searching I discovered the call to win32com.client.DispatchWithEvent can be used - passing a class with the method signatures for each event for thrown by the ActiveX component.
However I'm getting a strange exception from somewhere inside the win32com code and can't find a great deal of documentation on this method on the web. Could anyone help me out as to what's going on. The code is beneath, followed by the exception that occurrs, if I make a call to dispatch the code is working. <code> import win32com.client class ScannerEvents(object): bLoaded = False def DuplicateFound(self, nCount, strDuplicates): print "Duplicate Found" def ReadComplete(self): print "ReadComplete" def UIClosing(self): print "UIClosing" def UILoaded(self): print "UILoaded" bLoaded = True class Scanner(object): objVM = None objEvents = None def init(self): print "init" objEvents = ScannerEvents() print 'calling LoadUI' #objVM = win32com.client.Dispatch("VisionMate96.cVisionMate96") objVM = win32com.client.DispatchWithEvents("VisionMate96.cVisionMate96", objEvents) objVM.LoadUI() print 'Called LoadUI' if __name__ == '__main__': objScanner = Scanner() objScanner.init() </code> <stacktrace> >>> ## working on region in file c:\Documents and Settings\Neil\My >>> Documents\Python stuff\python-4ZAXnv.py... init caling LoadUI Traceback (most recent call last): File "<stdin>", line 1, in ? File "c:\Documents and Settings\Neil\My Documents\Python stuff\python-4ZAXnv.py", line 33, in ? objScanner.init() File "c:\Documents and Settings\Neil\My Documents\Python stuff\python-4ZAXnv.py", line 28, in init objVM = win32com.client.DispatchWithEvents("VisionMate96.cVisionMate96", objEvents) File "C:\Python23\Lib\site-packages\win32com\client\__init__.py", line 264, in DispatchWithEvents result_class = new.classobj("COMEventClass", (disp_class, events_class, user_event_class), {"__setattr__" : _event_setattr_}) TypeError: default __new__ takes no parameters </stacktrace> FYI - the component is an ActiveX control to control a flat bed scanner which then scans a load of plastic tubes containing 2D barcodes, decodes them and returns the barcodes of the tubes. Thanks, for any and all help. Cheers, Neil Cenix Bioscience GmbH _______________________________________________ Python-win32 mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/python-win32