# Parent Module win32com
# Modules win32com.client.CLSIDToClass # Manages a dictionary of CLSID strings to Python classes. win32com.client.build # Contains knowledge to build a COM object definition. win32com.client.clsidtoclass # Manages a dictionary of CLSID strings to Python classes. win32com.client.combrowse # A utility for browsing COM objects. win32com.client.connect # Utilities for working with Connections win32com.client.dynamic # Support for dynamic COM client support. win32com.client.makepy # Generate a .py file from an OLE TypeLibrary file. win32com.client.tlbrowse win32com.client.util # General client side utilities.
This package contains support for Python as a COM client.
This is the ability to use other COM servers, not necessarily implemented in Python. For example, the client support can be used to talk to Microsoft Office, Visual Basic Servers, OCX controls, etc.
Currently, there are 2 primary ways to use Python as a COM client - using generated .py files as supported in the makepy module, or using dynamic COM objects, as supported in the dynamic module. An overview of each of the techniques is provided below.
A key advantage of this approach is the "type checking" or pre-built knowledge that the Python then has about the server. The operations are very fast, and in may cases, smart handling of paramaters and return types is performed.
The key disadvantages to this approach is that the .py files must be generated
before the modules can be used. This can type some time to generate, and significant
memory and machine resources may be needed to
compile
(ie, generate a .pyc) file
first time Python uses the module. Also, there is no standard place or process for
automatic (ie, on the fly) generatiion of these files
In general, Python does a reasonable job using this approach. In fact, Python does an almost perfect job when the IDispatch has type information available at run time - although this fact is invisible to the user.
But in some cases, Python and COM do not get on so well.
The key advantage to this approach is that no prior knowledge of a COM server, and no type information is necessary. This allows you to get running much faster.
The key disadvantage is that Python and COM occasionally can not agree on certain details, providing less than optimal results.
Copyright © Greg Stein, Mark Hammond, Curt Hagenlocher and a few other contributors
All Rights Reserved
Comments to author:
Generated: Sun Apr 20 1997