Функции DDE

Инициируют обмен данными между Visual FoxPro и другими приложениями на базе Microsoft Windows.

Комментарии:
Действуют в Visual FoxPro и FoxPro для Windows.
Visual FoxPro может выступать как в роли сервера, так и в роли клиента, посылая данные в другие приложения на базе Windows или получая из них информацию.
В приложениях, поддерживающих средство DDE (динамический обмен данными), приняты следующие соглашения об именах:
ИмяОписание
Имя службыИмя, на которое отзывается сервер, когда клиент пытается к нему обратиться. Сервер может поддерживать множество имен служб.
Имя темыИмя, определяющее логический набор данных. В приложениях на базе файлов именами тем обычно являются имена файлов. В других приложениях имена тем зависят от конкретного приложения. Чтобы получить доступ к серверу, клиент должен кроме имени службы сервера задать имя темы.
Имя элементаИмя, определяющее элемент данных, который сервер может передать клиенту, запросившему информацию.

Чтобы запросить данные из другого приложения, составьте программу Visual FoxPro, которая устанавливает систему Visual FoxPro в качестве клиента. Далее приводится краткое описание процедуры создания простой программы Visual FoxPro, запрашивающей данные из другого приложения.
Установите связь с приложением-сервером, используя функцию DDEInitiate( ).
Если связь успешно установлена, запросите данные из приложения-сервера с помощью функции DDERequest( ). Данную функцию можно выдавать повторно, чтобы получить все нужные данные.
После того как данные получены, выдайте функцию DDETerminate( ), которая прекращает связь с приложением-сервером, чтобы освободить системные ресурсы.

Указанные выше функции устанавливают "холодную" связь. Такая связь устанавливается, если клиент сам инициирует все операции передачи данных между приложениями. О других типах связей см. описание функции DDEAdvise( ).
Далее приводится краткое описание программы, устанавливающей систему Visual FoxPro в качестве сервера.
С помощью функции DDESetService( ) создайте службу и задайте тип службы.
С помощью функции DDESetTopic( ) создайте тему службы и задайте процедуру, которая выполнится, когда эта тема будет указана в запросе клиента.
Создайте процедуру, задаваемую в DDESetTopic( ), которая принимает передаваемые ей параметры.
В процедуре выполните обработку запроса и, если нужно, возвратите запрошенные данные клиенту.

Следует отметить, что эти функции DDE не отвечают установленным соглашениям о функциях Visual FoxPro в следующих аспектах.
Первые четыре символа имен этих функций не являются уникальными.

Имена функций состоят более чем из 10 символов и не могут быть сокращены:

Функция DDEОписание
DDEAbortTrans( )Прекращает асинхронную транзакцию DDE.
DDEAdvise( )Создает для DDE связь с уведомлением или автоматическую связь.
DDEEnabled( )Включает или отключает обработку средствами DDE или возвращает статус обработки DDE.
DDEExecute( )Используя DDE, посылает команду в другое приложение.
DDEInitiate( )Устанавливает канал DDE между Visual FoxPro и другим приложением на базе Windows.
DDELastError( )Возвращает номер ошибки для последней функции DDE.
DDEPoke( )Передает данные между приложением-клиентом и приложением-сервером посредством связи DDE.
DDERequest( )Запрашивает данные из приложения-сервера по связи DDE.
DDESetOption( )Изменяет или возвращает установки DDE.
DDESetService( )Создает, освобождает или модифицирует имена и установки служб в Visual FoxPro.
DDESetTopic( )В ходе связи DDE создает или освобождает имя темы, используя имя службы.
DDETerminate( )Закрывает канал DDE, установленный функцией DDEInitiate( ).


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.12.2002