HP NonStop G-Series User Manual
Page 19

Dynamic Data Exchange (DDE)
Introduction to the Tandem DDE Gateway
110838 Tandem Computers Incorporated
1–7
Figure 1-3. DDE Client-Server Interaction
DDE
Client
DDE
Server
Initiate (Application, Topic)
Ack ("I can help with that topic")
Poke (One named item, format, value)
Ack ("Thanks")
Execute (Command (Parameters))
Ack ("Done")
Request (One named item, format)
Data value
Terminate
Terminate ("You're forgotten")
003
DDE always takes place between two Windows applications: a DDE client application
and a DDE server application. The DDE client initiates the DDE conversation by
broadcasting an application and topic name to all the current Windows applications
running on the workstation.
DDE servers are programmed to listen for these DDE Initiate functions, and a DDE
server (such as Microsoft Excel) will respond to a DDE Initiate for an application and a
topic that it can process (such as a currently loaded spreadsheet). When a DDE server
responds to a DDE client, a DDE conversation has been established. A DDE server can
have many DDE clients at the same time, and a DDE client can use different DDE
servers.
Once a DDE conversation has been established, data and commands can be
exchanged. Data is exchanged in formats called clipboard formats (the same formats
are used by the Windows clipboard). Clipboard formats can be standard ones built
into Windows, such as CF_TEXT (a string of characters terminated with a byte of
binary zeros), or custom formats defined by Windows applications (called registered
clipboard formats).
When data is exchanged between a DDE client and a DDE server, not only is the
format defined within the DDE protocol, but the data item being transferred must
have an item name that is understood by the DDE server application. For example,
with Microsoft Excel the item name might be a reference to a spreadsheet cell by row
and column.
A DDE client can send data to a DDE server by using the DDE Poke function. The
data item must be named for the DDE server (for example, “this data item is for row