[python-win32] in-process COM DLL in Python

Wuping Xin oudouxin at gmail.com
Sat Apr 15 17:27:47 EDT 2023


I'd like to return another Python object,  using a method of a COM 
object defined using Python, something like below - is that doable?
For in process COM object defined through Python,  is there any 
limitation about the types that can be returned from COM method?

class Person:
     _public_methods_ = ["Name"]

     def __init__(self, name, age):
         self.name = name
         self.age = age

     def Name(self, age = None):
         return self.name


# Define a Python class that will be registered as a COM object
class MyCOMObject:
     _public_methods_ = ["GetPerson"]

     def GetPerson(self, name, age):
         p = Person(name, age)
         my_variant = pywintypes.VARIANT(p, VARIANT.VT_DISPATCH)
         return my_variant

# Register the class as a COM object

win32com.server.register.UseCommandLine(MyCOMObject)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/python-win32/attachments/20230415/17a3911d/attachment.html>


More information about the python-win32 mailing list