DDE is a message protocol for dynamic data exchange between Windows programs. Data may be shared among applications, the intention being to create an integrated Windows environment.
Client, Server and Conversation:
Two applications participating in dynamic data exchange are said to be engaged in a DDE conversation. The application which initiates the conversation is the client application. The application which responds to the client is the server application. An application may be engaged in several conversations at the same time, acting as a client in some conversations and as a server in others.
A DDE conversation takes place between two windows, one for each of the participating applications. The window may be the main window of the application, a secondary window associated with the application, or a hidden window. A hidden window is typically used to process DDE messages.
DDE identifies the units of data passed between the client and server with a three-level hierarchy of:
Each DDE conversation is uniquely identified by the application name and topic. The application name is normally the name of the server application. The topic is a general classification of data, within which multiple data items may be exchanged during the conversation. The item is the actual information related to the conversation topic that is exchanged between the applications. Values for the data item can be passed from the server to the client, or from client to server. The format of the data item may be any one of the clipboard formats (see Clipboard Support).
Once a DDE conversation has been initiated, the client may establish one or more permanent data links with a server. A data link is a communication mechanism by which the server notifies the client whenever the value of a given data item changes. The link is permanent in the sense that the notification process continues until the data link or DDE conversation is terminated.
The DDE link may be warm or hot. In a warm data link, the server notifies the client that a value of a given data item has changed, but the server does not actually send the data value to the client until the client requests it. In a hot data link, the server immediately sends the changed data value to the client.
Applications which support DDE typically provide a Copy/Paste command in the Edit menu to allow the user to establish a DDE link.