I use MicroStation through Automation interface.
Bat I do not known how use Events.
For example:
Object CommandState have method StartLocate:
Syntax
object.StartLocate EventHandlers
object A valid object.
EventHandlers An ILocateCommandEvents expression. The object that will
handle the events. An instance of the class that you've defined, which
implements ILocateCommandEvents.
How to write EventHandlers object and call CommandState.StartLocate?
I write simple:
from win32com.server.util import wrap as com_wrap
IID_ILocateCommandEvents = '{67CBDE4A-F073-11D4-A8E6-00508B4D8FED}'
class LocateCommandEvents:
_com_interfaces_ = [IID_ILocateCommandEvents]
_public_methods_ = [
'Accept', 'Cleanup', 'Dynamics', 'LocateFailed', 'LocateFilter',
'LocateReset', 'Start']
# skip dummy methods...
ev = LocateCommandEvents()
events = com_wrap(self.ev, IID_ILocateCommandEvents)
MSApp.CommandState.StartLocate(events)
But it do not work:
events = com_wrap(self.ev, IID_ILocateCommandEvents)
File "C:\Lang\Python\25\lib\site-packages\win32com\server\util.py",
line 30, in wrap
ob = ob.QueryInterface(iid) # Ask the PyIDispatch if it
supports it?
pywintypes.com_error: (-2147467262, 'The interface is not supported',
None, None)
_______________________________________________
python-win32 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-win32