Eric Harmon "Delphi COM Programming" – contents overview:

• Chapter 1, "Using Interfaces in Delphi," introduces the concept of interfaces. Interfaces are the most basic building block in COM. In Chapter 1, you’ll learn that interfaces are a useful language element in their own right in Delphi. I’ll show you how to create Delphi applications that are built on interfaces, without ever discussing COM per se.

• Chapter 2, "Interfaces and COM," picks up where Chapter 1 leaves off. In Chapter 2, I’ll show you how you can create COM servers in Delphi. You’ll learn how to upgrade existing COM servers without breaking existing code that depends on an older version of that server.

• In Chapter 3, "Type Libraries," I’ll introduce the concept of a type library. As you’ll see, type libraries provide the means by which COM servers can be used by practically any compiler or language on the market today.

• Chapter 4, "Automation," accumulates the concepts discussed in the preceding chapters to create automation clients and servers. Automation provides a mechanism by which one application can be controlled by another application.

• In Chapter 5, "ActiveX Controls and ActiveForms," I’ll discuss ActiveX controls and ActiveForms. I’ll show you how easy is it to use existing ActiveX controls in Delphi, and I’ll show you how you can create your own ActiveX controls that you can market to programmers using not only Delphi, but also Visual Basic, C++, and other languages.

• Chapter 6, "DCOM," shows you how you can take the concepts you’ve already learned and apply them across a network. You’ll learn how to write distributed applications that can communicate with each other on a LAN or WAN.

• In Chapter 7, "Structured Storage," I introduce structured storage, which is a way of storing multiple types of data in a single file. You’ll see how to use COM interfaces to easily use structured storage files in your Delphi applications.

• Chapter 8, "Structured Storage and OLE," builds on Chapter 7, and discusses OLE property sets and OLE containers. OLE property sets provide a universal way to store tagged data in a structured storage file. For example, one application can store the author’s name in a document, and any other application (that knows about OLE property sets) can read the author’s name from the file without knowing anything about the structure of the file.

• Chapter 9, "Programming the Windows Shell," explains how to write several of the common types of Windows shell extensions, including context menu handlers, copy hook handlers, applications that make use of the tray, and more.