Функция DDEInitiate( )

Устанавливает канал динамического обмена данными (DDE) между Visual FoxPro и другим приложением на базе Microsoft Windows.

Синтаксис:

DDEInitiate(cServiceName, cTopicName)

Параметры:
cServiceName
Задает имя службы приложения-сервера; в большинстве случаев это имя исполняемого файла без расширения. По умолчанию для Visual FoxPro используется имя службы Visual FoxPro. Если вы устанавливаете канал с Microsoft Excel, в качестве cServiceName берется Excel.
cTopicName
Задает имя темы. Тема определяется приложением и должна быть понятна ему. Например, одной из тем, предоставляемых почти на всех серверах DDE, является тема System. Имена служб и тем, поддерживаемых данным приложением, см. в документации на это приложение.

Результат:
Числовой

Комментарии:
Допустимо только в Visual FoxPro и FoxPro для Windows.
Функция DDEInitiate( ) устанавливает канал DDE между Visual FoxPro и приложением-сервером DDE. Как только канал установлен, Visual FoxPro может запрашивать данные из сервера, указывая в последующих функциях DDE номер этого канала. Visual FoxPro выступает в роли клиента, запрашивая данные из приложения-сервера по каналу связи.
Если канал успешно установлен, DDEInitiate( ) возвращает его номер. Номера каналов представляют собой неотрицательные числа, а общее количество каналов, которые можно установить, ограничено только системными ресурсами.
Если канал установить нельзя, DDEInitiate( ) возвращает -1. Если приложение-сервер не открыто, Visual FoxPro спрашивает, желаете ли вы его открыть. Если вы ответите Yes, нажав соответствующую кнопку, Visual FoxPro попытается открыть приложение. (С помощью функции DDELastError( ) можно определить, почему не удалось установить канал.)
Чтобы запретить выдачу запросов, предлагающих открыть приложение, установите в функции DDESetOption( ) опцию SAFETY. Можно для запуска приложения использовать и команду RUN с опцией /N.
Канал можно закрыть с помощью функции DDETerminate( ).

Пример:

* В следующем примере функция DDEInitiate( ) используется для установки
* канала DDE между Visual FoxPro и электронной таблицей Sheet1. 'Excel'
* представляет собой имя службы, а 'Sheet1' ѕ имя темы. Номер канала
* сохраняется в переменной памяти mchannum для использования в
* следующих функциях DDE.
mchannum = DDEInitiate('Excel', 'Sheet1')
IF mchannum != -1
	* Process client actions
	= DDETerminate(mchannum)  && Close the channel
ENDIF

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