Создает, очищает, или изменяет сервисные имена и параметры настройки DDE.

DDESetService(cServiceName, cOption [, cDataFormat | lExpression])

Параметры

cServiceName

Определяет сервисное имя для создания, очищения, измения, или возвращения информации.
cOption

Определяет создать, очистить, или изменить сервисное имя или вернуть информацию о сервисном имени. Следующая таблица перечисляет варианты, с помощью которых Вы можете определить cOption , значения по умолчанию для опций и описание каждой опции.

Опция Значение по умолчанию Описание

DEFINE

-

Создает новое сервисное имя.

RELEASE

-

Очищает существующее сервисное имя.

ADVISE

.F.

Разрешает или запрещает уведомление клиента об изменениях в именах элементов.

EXECUTE

.F.

Разрешает или запрещает выполнение команды.

POKE

.F.

Разрешает или запрещает запросы клиента на передачу в службу.

REQUEST

.T.

Разрешает или запрещает запросы на получение к сервисному имени.

FORMATS

CF_TEXT

Определяет поддерживваемые форматы данных.

DEFINE

Создает новое сервисное имя. Например, следующая команда создает сервисное имя myservice :
Скопировать код
glNewService = DDESetService('myservice', 'DEFINE')
RELEASE

Очищает существующее сервисное имя, чтобы освободить ресурсы системы. Когда сервисное имя очищено, все тематические имена службы также очищаются. Следующая команда очищает сервисное имя, созданное в предыдущем примере:
Скопировать код
glRelease = DDESetService('myservice', 'RELEASE')
Чтобы очистить заданную по умолчанию службу Visual FoxPro, запустите эту команду:
Скопировать код
glRelFox = DDESetService('FoxPro', 'RELEASE')
ADVISE

Определяет, уведомлен ли клиент, когда изменяются данных в имени элемента, или определяет возврат текущего состояния сервисного имени. Обратитесь к DDEAdvise( ) для дополнительной информации об уведомлении клиентов. Чтобы разрешить уведомление клиента, определите истину (.T). для lExpression . Определение лжи (.F). для lExpression отключает уведомление клиента. Чтобы вернуть текущее состояние уведомления клиента для сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если разрешено уведомление клиента для сервисного имени; она возвращает ложь, если уведомление запрещено.
EXECUTE

Позволяет Вам разрешать или запрещать выполнение команды запроса к сервисному имени, или определить текущий статус выполнения для сервисного имени. Для разрешения запроса клиента на выполнение команды, определите истину (.T). для lExpression . Определение лжи (.F). для lExpression запрещает запрос клиента на выполнение команды. .F. - значение по умолчанию. Чтобы возвратить текущее состояние выполнения команды для сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы выполнения команды клиента допускаются для сервисного имени; иначе, она возвращает ложь. Следующие команды допускают выполнение команды и запрещают запросы данных из клиентских приложений для сервисного имени myservice . Затем отображается текущее состояние выполнения команды для myservice :
Скопировать код
glExecute = DDESetService('myservice', 'EXECUTE', .T.)
glRequest = DDESetService('myservice', 'REQUEST', .F.)
? DDESetService('myservice', 'EXECUTE')
POKE

Позволяет Вам разрешить или запретить запросы на передачу к сервисному имени. Вы можете также определить текущий статус передачи к сервисному имени. Обратитесь к DDEPoke( ) для дополнительной информации о передаче данных на сервер или клиенту. Для разрешения клиенту посылать запросы на передачу, задайте истину (.T). для lExpression . Определение лжи (.F). для lExpression запрещает клиенту запрос на передачу. .F. - значение по умолчанию. Для возращения текущего статуса запроса на передачу сервисному имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы на передачу разрешены для сервисного имени; она возвращает ложь, если запросы на передачу запрещены.
REQUEST

Используйте REQUEST, чтобы разрешить или запретить запрос клиента на получение к сервисному имени, или вернуть текущее состояние запроса для сервисного имени. Для разрешения клиенту запрашивать сервисное имя на получение, определите истину (.T). для lExpression . Определение лжи (.F). запрещает клиенту запрашивать сервисное имя. Истина (.T). является значением по умолчанию. Чтобы возвратить текущее состояние запроса сервисного имени, опустите lExpression . DDESetService( ) возвращает истину, если запросы клиента разрешены для сервисного имени; она возвращает ложь, если запросы клиента запрещены. Следующие команды запрещают запросы от клиентских приложений к сервисному имени myservice и выводят текущее состояние запроса для myservice :
Скопировать код
glRequest = DDESetService('myservice', 'REQUEST', .F.)
? DDESetService('myservice', 'REQUEST')
FORMATS [ cDataFormat ]

Определяет форматы данных, поддерживаемых сервисным именем. Серверные запросы форматов, не указанных в cDataFormat отклоняются. При определении форматов данных, включите перечень поддерживаемых форматов, отделенных запятыми. Например:
Скопировать код
=DDESetService('myservice', 'FORMATS', 'CF_TEXT, CF_SYLK')
Если Вы опускаете cDataFormat , то поддерживается только формат CF_TEXT.
lExpression

Определяет состояние опций REQUEST, EXECUTE, POKE, или ADVISE. Определите истину (.T). для lExpression чтобы разрешить опции, или ложь (.F).чтобы запретить.

Возвращаемое значение

Логическое

Замечания

Visual FoxPro может действовать как серввер динамического обмена данными (DDE) чтобы отправлять данные клиентским приложениям на базе Microsoft Windows. DDESetService( ) используется, чтобы создать, очистить, или изменить сервисные имена и параметры настройки в Visual FoxPro. Каждое сервисное имя может иметь набор тематических имен, созданных с помощью DDESetTopic( ) . Клиентские приложения запрашивают данные от тематичеких имен DDE.

DDESetService( ) возвращает истину (.T). если сервисное имя успешно создано, очищено, или изменено. Если сервисное имя не может быть создано, очищено, или изменено, DDESetService( ) возвращает ложь (.F)..

DDESetService( ) может также использоваться, чтобы возвратить информацию о сервисном имени. Visual FoxPro имеет заданное по умолчанию сервисное имя FoxPro. Имя службы Visual FoxPro имеет одно тематическое имя System. Следующая таблица перечисляет все имена элементов, поддерживаемых темой System.

Имя элемента Элемент

Темы

Список доступных имен темы

Форматы

Список поддерживаемых форматов

Состояние

Занятый или Готовый

SysItems

Список имен элемента

Вы можете использовать DDESetTopic( ), чтобы изменить имя службы FoxPro или очистить его. Для информации об управлении именами службы Visual FoxPro, см. DDESetTopic( ) options.

См. Также