Поделиться через


Сведения о DDEML

Динамический обмен данными (DDE) отличается от механизма передачи данных буфера обмена. Одно из различий заключается в том, что буфер обмена почти всегда используется в качестве однократного ответа на определенное действие пользователя, например нажатие кнопки " Вставить " в меню. Хотя DDE также может быть инициирован пользователем, обычно он продолжается без дальнейшего участия пользователя.

Библиотека управления динамическими данными (DDEML) предоставляет интерфейс, упрощающий задачу добавления возможности DDE в приложение. Вместо отправки, публикации и обработки сообщений DDE непосредственно приложение использует функции, предоставляемые DDEML для управления беседами DDE. Беседа DDE — это взаимодействие между клиентскими и серверным приложениями. DDEML также предоставляет средства для управления строками и данными, общими для приложений DDE. Вместо использования атомов и указателей на объекты общей памяти приложения DDE создают и обмениваются дескрипторами строк, которые определяют строки и дескрипторы данных, которые определяют объекты DDE. DDEML предоставляет функцию (DdeNameService), которая позволяет серверу приложению регистрировать поддерживаемые им имена служб. Затем имена служб передаются другим приложениям в системе, которые используют имена для подключения к серверу. DDEML также обеспечивает совместимость между приложениями DDE, требуя их реализации протокола DDE согласованно.

Существующие приложения, использующие протокол DDE на основе сообщений, полностью совместимы с теми, которые используют DDEML; То есть приложение, использующее DDE на основе сообщений, может устанавливать беседы и выполнять транзакции с приложениями с помощью DDEML. Вместо использования сообщений DDE в новом приложении воспользуйтесь DDEML и множеством улучшений, которые он предлагает.

Чтобы использовать DDEML, необходимо включить DDEML. Файл заголовка H в исходных файлах со ссылкой НА USER32. LIB-файл и убедитесь, что файл DDEML.DLL находится в пути системы.

При сбое функции DDEML приложение может вызвать функцию DdeGetLastError , чтобы определить причину сбоя. DdeGetLastError возвращает значение ошибки, указывающее причину последней ошибки.