Alexander Eisenhuth <[EMAIL PROTECTED]> wrote: > >Hello everybody, > >i wonder how the win32 COM extension handles different C-int types >(short, int, long).
All of those types are passed on the stack as 32-bit dwords. No problem. >Another question for me is weather the >"out-direction" of parameter is supported "out of the box" ? Yes, but you have to make them outputs from your function. Remember that assigning to a parameter in Python does not change the parameter from the caller's point of view: def FunWithTwoInts( self, inShort, inInt ): print "got as short:% as int%d" % (inShort, inInt) return inShort + inInt If you have multiple OUT parameters, you return a tuple of values. >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) >-------------------------------------------------------------------------- -- - Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. -- http://mail.python.org/mailman/listinfo/python-list