<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16640" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial>Hi, <BR><BR> To develop a interface to a COM library under 
Boa Constructor and WxPython, Python 2.5, I had to use the makepy utility to 
generate the classes file.<BR><BR> I show you a part of this 
file:<BR></FONT></DIV>
<DIV><FONT face=Arial><FONT size=2>class 
_IPmacDeviceEvents:<BR>&nbsp;"""_IPmacDeviceEvents Interface"""<BR>&nbsp;CLSID = 
CLSID_Sink = 
IID('{D1C5C7C8-5E0C-495E-9AAF-85B146DA5F13}')<BR>&nbsp;coclass_clsid = 
IID('{B544D2BD-354C-456E-9E88-20F71625E7DF}')<BR>&nbsp;_public_methods_ = [] # 
For COM Server support<BR>&nbsp;_dispid_to_func_ = 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 : 
"OnUnsolicited",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 : 
"OnError",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 : 
"OnInterrupt",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 : 
"OnProgress",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 : 
"OnMessage",<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 : 
"OnDataReady",<BR>&nbsp;&nbsp;}</FONT></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2>&nbsp;def __init__(self, oobj = 
None):<BR>&nbsp;&nbsp;if oobj is None:<BR>&nbsp;&nbsp;&nbsp;self._olecp = 
None<BR>&nbsp;&nbsp;else:<BR>&nbsp;&nbsp;&nbsp;import 
win32com.server.util<BR>&nbsp;&nbsp;&nbsp;from win32com.server.policy import 
EventHandlerPolicy<BR>&nbsp;&nbsp;&nbsp;cpc=oobj._oleobj_.QueryInterface(pythoncom.IID_IConnectionPointContainer)<BR>&nbsp;&nbsp;&nbsp;cp=cpc.FindConnectionPoint(self.CLSID_Sink)<BR>&nbsp;&nbsp;&nbsp;cookie=cp.Advise(win32com.server.util.wrap(self, 
usePolicy=EventHandlerPolicy))<BR>&nbsp;&nbsp;&nbsp;self._olecp,self._olecp_cookie 
= cp,cookie<BR>&nbsp;def 
__del__(self):<BR>&nbsp;&nbsp;try:<BR>&nbsp;&nbsp;&nbsp;self.close()<BR>&nbsp;&nbsp;except 
pythoncom.com_error:<BR>&nbsp;&nbsp;&nbsp;pass<BR>&nbsp;def 
close(self):<BR>&nbsp;&nbsp;if self._olecp is not 
None:<BR>&nbsp;&nbsp;&nbsp;cp,cookie,self._olecp,self._olecp_cookie = 
self._olecp,self._olecp_cookie,None,None<BR>&nbsp;&nbsp;&nbsp;cp.Unadvise(cookie)<BR>&nbsp;def 
_query_interface_(self, iid):<BR>&nbsp;&nbsp;import 
win32com.server.util<BR>&nbsp;&nbsp;if iid==self.CLSID_Sink: return 
win32com.server.util.wrap(self)</FONT></FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial><FONT size=2>&nbsp;# Event Handlers<BR>&nbsp;# If you 
create handlers, they should have the following prototypes:<BR>#&nbsp;def 
OnUnsolicited(self, Device=defaultNamedNotOptArg, 
Msg=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method 
Unsolicited"""<BR>#&nbsp;def OnError(self, Device=defaultNamedNotOptArg, 
FileName=defaultNamedNotOptArg, ErrorID=defaultNamedNotOptArg, 
LineNum=defaultNamedNotOptArg<BR>#&nbsp;&nbsp;&nbsp;, 
Line=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method Error"""<BR>#&nbsp;def 
OnInterrupt(self, Device=defaultNamedNotOptArg, 
lLevel=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method 
Interrupt"""<BR>#&nbsp;def OnProgress(self, Device=defaultNamedNotOptArg, 
dwPercent=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method 
Progress"""<BR>#&nbsp;def OnMessage(self, Device=defaultNamedNotOptArg, 
Msg=defaultNamedNotOptArg, 
bNewLine=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method 
Message"""<BR>#&nbsp;def OnDataReady(self, 
Device=defaultNamedNotOptArg):<BR>#&nbsp;&nbsp;"""method 
DataReady"""</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2>;</FONT></DIV>
<DIV><FONT face=Arial size=2>;</FONT></DIV>
<DIV><FONT face=Arial size=2>;</FONT></DIV>
<DIV><FONT face=Arial><FONT size=2>from win32com.client import 
CoClassBaseClass<BR># This CoClass is known by the name 
'PcommServer.PmacDevice.1'<BR>class PmacDevice(CoClassBaseClass): # A 
CoClass<BR> # PmacDevice Class<BR> CLSID = 
IID('{B544D2BD-354C-456E-9E88-20F71625E7DF}')<BR> coclass_sources = [<BR>&nbsp; 
_IPmacDeviceEvents,<BR> ]<BR> default_source = _IPmacDeviceEvents<BR> 
coclass_interfaces = [<BR>&nbsp; IPmacDevice,<BR> ]<BR> default_interface = 
IPmacDevice<BR><BR></FONT>I can call PmacDevice() class without problem&nbsp;and 
everything works well to communicate with the card. </FONT></DIV>
<DIV><FONT face=Arial>How to use&nbsp;the events managed in the library 
?<BR><BR> Do you have a example or tutorial ?<BR><BR> Thanks a lot.<BR><BR> 
Serge Gauthier<BR></DIV></FONT><!-- SPAMfighter Signature --><br><hr>J'utilise la version gratuite de SPAMfighter pour utilisateurs privés.<br />1939 e-mails spam ont été bloqués jusqu'à maintenant.<br /> Les utilisateurs payant n'ont pas ce message dans leurs e-mails.<br />Essayez <a href="http://www.spamfighter.com/lfr">SPAMfighter</a> gratuitement maintenant!<br /></BODY></HTML>