Dynamic data exchange (DDE) and object linking and embedding (OLE) are two protocols, or standards, that Microsoft asks makers of Windows applications to support. Both provide easy ways to exchange data with another Windows application. Although DDE and OLE are primarily interactive user features, you can carry out some interesting tasks with them in code.
The primary difference between DDE and OLE has to do with what each one sends. DDE sends data and commands between two applications. OLE either embeds data directly into another application, or stores information about a link to a specific piece of data. You can store OLE data in an OLE field type of a table. You cannot store DDE links in a table.
DDE is a powerful tool for Windows programmers. DDE enables you to do three things: send values to another application, get values from another application, and send commands to another application.
Just as you have a client and a server in a network environment, you have a DDE client and a DDE server when you establish a DDE link between two applications. The application that is the source -- that is, the provider -- of the data is the server. The application that receives the data is the client.
The term DDE stands for Dynamic Data Exchange, which is a way for two or more applications to share data. A DDE link is distinctly different from an OLE link. Use DDE to exchange bits of data and execute DDE commands. Use OLE to embed objects from one application into another. The application that receives data from the server application is the DDE client. The DDE server is the application that responds to the calling application (that is, the client) in a DDE or OLE conversation, usually by sending data. The client application is responsible for starting the DDE or OLE conversation. A DDE topic is the subject of a DDE conversation. Usually, it is the name of a data file of the application. A DDE item is the piece of data sent between applications.
DDE sends and receives one piece of data or a command at a time. This means that you can use DDE to send the value of a single field or a complete table. You can send several single values one after another. With DDE, you can send text, field information, or even a bitmap. For example, you can put a button on a form that tells your word processor to open a document. Then you can send it values and tell it to print.
Not every application can exchange data with DDE. For example, DOS applications don't support DDE. Most -- but not all -- Windows applications support DDE. Applications that support DDE include Quattro Pro for Windows, Excel, Word for Windows, WordPerfect for Windows, ObjectVision, and Quicken for Windows. Small utilities often don't support DDE.