Python and COM

23/10/97


Click here to start


Table of Contents

Python and COM

Tutorial Agenda

Introduction to COM

COM/OLE and ActiveX

What is a COM interface?

IUnknown

Custom interfaces

Objects vs. Interfaces

CLSIDs, GUIDs, UUIDs, IIDs

Registering Objects

Creating Objects

C++ Pseudo Code

Custom Interface Example 1 of 2

Custom Interface Example 2 of 2

IDispatch - poor man’s COM 1 of 2

IDispatch - poor man’s COM 2 of 2

Core Interfaces Introduction

Core Interfaces Enumerators

Core Interfaces Collections

Core Interfaces Streams and Storage

Core Interfaces Monikers

Core Interfaces ConnectionPoints

Core Interfaces And the Rest

Error Handling

PythonCOM Framework

PythonCOM Framework

PythonCOM Extensions

Using Python as a COM client

Python COM Clients The Problem

Python COM Clients The Answer

PythonCOM Interfaces 1 of 3

PythonCOM Interfaces 2 of 3

PythonCOM Interfaces 3 of 3

IDispatch vs. vtable

IDispatch Implementation

Dynamic IDispatch Implementation 1 of 5

Dynamic IDispatch Implementation 2 of 5

Dynamic IDispatch Implementation 3 of 5

Dynamic Dispatch Implementation 4 of 5

Dynamic Dispatch Implementation 5 of 5

Static Dispatch Implementation 1 of 4

Static Dispatch Implementation 2 of 4

Static Dispatch Implementation 3 of 4

Static Dispatch Implementation 4 of 4

Dispatch, VARIANTs and Python Types

Dispatch, VARIANTs and Python Types

win32com.client Files 1 of 2

win32com.client Files 2 of 2

Client Side Error Handling 1 of 2

Client Side Error Handling 2 of 2

SWIG and COM Client Interfaces 1 of 3

SWIG and COM Client Interfaces 2 of 3

SWIG and COM Client Interfaces 3 of 3

Using Python as a COM server

Python COM Servers The Problem

Gateways 1 of 2

Gateways 2 of 2

Gateways 3 of 3

Calling Python Methods

Policies 1 of 2

Policies 2 of 2

Instantiation 1 of 3

Instantiation 2 of 3

Instantiation 3 of 3

The Default Policy

A Quick Example

Useful Attributes

Wrapping 1 of 3

Wrapping 2 of 3

Wrapping 3 of 3

Error Handling 1 of 3

Error Handling 2 of 3

Error Handling 3 of 3

Collections 1 of 3

Collections 2 of 3

Collections 3 of 3

Enumerators 1 of 3

Enumerators 2 of 3

Enumerators 3 of 3

Server Utilities

win32com.server.connect

win32com.server.exception

win32com.server.policy

win32com.server.register

win32com.server.register Example

win32com.server.util

win32com.makegw

Advanced Topics

Advanced: Dispatchers 1 of 2

Advanced: Dispatchers 2 of 2

Advanced: Wrapping 1 of 5

Advanced: Wrapping 2 of 5

Advanced: Wrapping 3 of 5

Advanced: Wrapping 4 of 5

Advanced: Wrapping 5 of 5

Advanced: Custom Policies 1 of 7

Advanced: Custom Policies 2 of 7

Advanced: Custom Policies 3 of 7

Advanced: Custom Policies 4 of 7

Advanced: Custom Policies 5 of 7

Advanced: Custom Policies 6 of 7

Advanced: Custom Policies 7 of 7

Advanced: Threading 1 of 2

Advanced: Threading 2 of 2

Futures

Future Directions

Future: Auto Wrapping

Future: COM+ 1 of 3

Future: COM+ 2 of 3

Future: COM+ 3 of 3

Future: SWIG

Future: makepy

Author: Mark Hammond and Greg Stein

Home Page: ../../win32com

Other information:
This is the presentation given by Greg and Mark at the 6th International Python Conference, October 1997.