win32 COM and data types / direction
Thomas Heller
theller at python.net
Fri Mar 4 16:02:20 EST 2005
Alexander Eisenhuth <newsuser at stacom-software.de> writes:
> Hello everybody,
>
> i wonder how the win32 COM extension handles different C-int types
> (short, int, long). Another question for me is weather the
> "out-direction" of parameter is supported "out of the box" ?
>
> To clarify look at the methode "FunWithTwoInts"
> --------------------------------------------------------------------------
> #SimpleCOMServer.py - A sample COM server - almost as small as they come!
> #
> # We expose a single method in a Python COM object
> class PythonUtilities:
> _public_methods_ = [ 'FunWithTwoInts' ]
> _reg_progid_ = "PythonDemo.Utilities"
>
> # NEVER copy the following ID!
> # Use "print pythoncom.CreateGuid( )" to make a new one
> _reg_clsid_ = "{40CEA5F8-4D4C-4655-BD8B-0E7B6A26B556}"
>
> def FunWithTwoInts(self, inShort, inInt, outSum):
> print "got as short:%d as int:%d sum:%d" % (inShort, inInt, outSum)
> outSum = inShort + inInt
>
> # Add code so that when this script is run by
> # Python.exe, it self-registers
> if __name__=='__main_ _':
> print "Registering COM server..."
> import win32com.server.register
> win32com.server.register.UseCommandLine(PythonUtilities)
> --------------------------------------------------------------------------
> Does anybody have experiences in this ?
Since there is no type library, the client code has to guess. And it
will pass the server whatever the client calls with. That could even be
a string or anything else - but why not try it out?
*IF* there is a type library that the server implements, you will get
and return what it describes.
Thomas
More information about the Python-list
mailing list