Устанавливает канал динамического обмена данными (DDE) между Visual FoxPro и другим приложением на базе Microsoft Windows.
DDEInitiate(cServiceName, cTopicName) |
Параметры
- cServiceName
-
Задает имя службы приложения-сервера; в большинстве случаев это имя исполняемого файла без расширения. По умолчанию для Visual FoxPro используется имя службы Visual FoxPro. Если вы устанавливаете канал с Microsoft Excel, в качестве cServiceName берется Excel.
- cTopicName
-
Задает имя темы. Тема определяется приложением и должна быть понятна ему. Например, одной из тем, предоставляемых почти на всех серверах DDE, является тема System. Имена служб и тем, поддерживаемых данным приложением, смотрите в документации на это приложение.
Возвращаемое значение
Numeric
Замечания
Функция 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 |