Устанавливает канал динамического обмена данными (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