When to Use the OLE Libraries or the DDEML (74805)



The information in this article applies to:

  • Microsoft OLE 1.0

This article was previously published under Q74805
This article discusses when to use the OLE libraries or the Dynamic Data Exchange Management Library (DDEML).

When to Choose OLE

Use the OLE libraries in an application that supports any or all of the following:

  • persistent embedding and linking of objects
  • rendering of common data formats
  • server rendering of specialized data formats
  • creating objects and links from the Clipboard
  • creating objects and links from files
  • activating embedded and linked objects

When to Choose DDEML

Use the DDEML for any application that must support simultaneous links for many items, particularly if the items are updated very frequently. The DDE example of a real-time stock information server is a good example of an application best implemented using the DDEML rather than the OLE libraries.

When to Choose Both OLE and DDEML

Only in rare cases should an application need to use both the OLE and DDEML. Generally, these are cases where an application needs OLE to support persistent embedding and linking of objects and the other features uniquely offered by OLE, but where the application also needs DDE to support many simultaneous links for items that are updated very frequently.

There are no complications when both the OLE libraries and the DDEML are used simultaneously in a client application. Use the OLE libraries to initiate conversations with OLE servers; and use the DDEML to initiate conversations with DDE servers.

There is one complication, however, using both the OLE libraries and the DDEML in a server application. Different service names (DDE "application" names) must be used for OLE and DDE conversations. For example, "myapp" might be assigned as the service name for DDE conversations, while "myappOLE" might be assigned as the service name for OLE conversations. This is required because the OLE libraries and the DDEML have no other way to distinguish which one should respond on behalf of the registered server when an initiation request is received.

It probably makes more sense to modify the service name for OLE conversations than to modify the service name for DDE conversations. The SHELL.DLL registration services hide the service name for the OLE conversations from other applications and end users. On the contrary, other applications and end users must have knowledge of the service name for the DDE conversation.

Modification Type:MajorLast Reviewed:10/27/1999
Keywords:kbDDE kbDSupport kbprogramming KB74805