Chapter 9. Interacting with COM Objects

WHAT'S IN THIS CHAPTER?

  • Accessing COM components from IronPython

  • Deciding on a COM binding technique

  • Designing an Interop DLL

  • Using Activator.CreateInstance() for late binding

  • Using Marshal.GetActiveObject() for late binding

The Component Object Model (COM) has been around for a very long time in terms of computer technology. Of course, the predecessor of COM is Object Linking and Embedding (OLE), which is still found all over the place. COM spawned a few technologies of its own, such as Distributed COM (DCOM), used for connecting to objects over a network connection, and COM+, which is used to implement objects in a service-like environment. COM-like technologies even appear on other platforms in the form of technologies such as Common Object Request Broker Architecture (CORBA) and Java/Remote Method Invocation (Java/RMI). You can see these technologies compared at http://my.execpc.com/~gopalan/misc/compare.html (among many other places). It isn't too surprising, then, that you really do need to know how to interact with COM using IronPython. Otherwise, you'd miss out on a huge installed code base.

One chapter can't possibly cover many years' worth of technology. In fact, entire books can't cover the topic any longer — not that any users in their right minds would try. This chapter does provide a basic overview of how to work with COM using IronPython. It contains topics that most of you will find helpful and that will lead you to other discoveries ...

Get Professional IronPython™ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.