INF: Comparing DDEML to the OLE Libraries

ID Number: Q74806

3.10

WINDOWS

Summary:

The functionality of the Dynamic Data Exchange Management Library

(DDEML) is largely encompassed by that of the Object Linking and

Embedding (OLE) libraries. However, there is some functionality that

the DDEML supports that the OLE libraries do not.

Multiple Items Per Conversation

-------------------------------

The DDEML supports multiple, simultaneous, item advise loops per

conversation. A single pair of window handles serves as the source and

destination for DDE messages that may create advise loops for any

number of items. In contrast, the OLE libraries support only one item

(object) per conversation. If a client wants to establish a link to

several items (objects) in a server document, it must establish

multiple conversations with the server, one for each item. Although

this is not difficult to program in the client application, it does

incur the memory and performance overhead of multiple DDE windows, as

opposed to a single DDE window.

It is possible to use the OLE libraries to simulate the multiple

items-per-conversation capability of the DDEML. The identification of

an item can be attached to all data packets for the item. However this

technique works only for clients and servers that agree upon a

particular convention for creating such data packets. This technique

is not be backward-compatible with existing DDE applications.

Generalized Support for the DDE "System" Topic

----------------------------------------------

The OLESVR library responds to requests for these standard DDE

"System" topic items: EditItems, protocols, topics, formats, and

status. (EditItems is a new standard DDE "System" topic item that

supports the OLE StdFileEditing command.) An application using OLESVR

to implement DDE has no opportunity to influence the response of

OLESVR to requests for these "System" topic items. Further, the

application has no opportunity to respond to requests for other

"System" topic items that it might define, or to requests for the

SysItems "System" topic item.

In contrast, the DDEML provides generalized support for any "System"

topic.