Hi, 

I need to interact with our internal COM API. One of the functions
requires a callback - just a COM object, which implements a certain
interface.
I have implemented that interface in Python and use it.
It works fine -> my Python implementation is called fine. What I have
problem with is that from inside my callback I can't call any external
Python code - like my another function.
Here is a sample:

def gfun(self, path, content): 
    print 'Global func'
    
class MXObjRefEventsImpl(MXObjRefEvents):
    # registry entries
    _reg_threading_ = "Apartment"
    _reg_progid_ = "MyCOM.MXObjRefEvents.1"
    _reg_novers_progid_ = "MyCOM.MXObjRefEvents"
    _reg_desc_ = "IMXObjRefEvents Python implementation"
    _reg_clsctx_ = comtypes.CLSCTX_INPROC_SERVER
    _regcls_ = comtypes.server.localserver.REGCLS_MULTIPLEUSE
    
    _Call = gfun
    
    def OnObjRefUpdate(self, Source, Instance, Path):
        print 'OnObjRefUpdate'
        print MXObjRefEventsImpl._Call
        MXObjRefEventsImpl._Call(Path, Instance.Content)


Whenever MXObjRefEventsImpl is call I see:
OnObjRefUpdate
<unbound method MXObjRefEventsImpl.gfun>

But nothing else :(

Can anyone advise me?

Regards,
Aidar Talibzhanov

_______________________________________________

This e-mail may contain information that is confidential, privileged or 
otherwise protected from disclosure. If you are not an intended recipient of 
this e-mail, do not duplicate or redistribute it by any means. Please delete it 
and any attachments and notify the sender that you have received it in error. 
Unless specifically indicated, this e-mail is not an offer to buy or sell or a 
solicitation to buy or sell any securities, investment products or other 
financial product or service, an official confirmation of any transaction, or 
an official statement of Barclays. Any views or opinions presented are solely 
those of the author and do not necessarily represent those of Barclays. This 
e-mail is subject to terms available at the following link: 
www.barcap.com/emaildisclaimer. By messaging with Barclays you consent to the 
foregoing.  Barclays Capital is the investment banking division of Barclays 
Bank PLC, a company registered in England (number 1026167) with its registered 
office at 1 Churchill Place, London, E14 5HP.  This email may relate to or be 
sent from other members of the Barclays Group.
_______________________________________________

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
comtypes-users mailing list
comtypes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/comtypes-users

Reply via email to