ddesetservice( ) 函数

请参阅

创建、释放或更新 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('Visual FoxPro', 'RELEASE')

ADVISE

当一个项中的数据改变时,指定是否通知客户,或者返回服务名的当前建议状态。有关向客户提供建议的其他内容,请参阅 DDEAdvise( )。
要启用客户通知,可指定 lExpression 为“真”(.T.);将 lExpression 指定为“假”(.F.) 可废止客户通知。
要返回服务名的当前客户通知状态,省略 lExpression 即可。如果已经启用了服务名的客户通知,则 DDESetService( ) 返回“真”;如果已废止客户通知,则返回“假”。

EXECUTE

允许启用或废止向一个服务名的命令请求,或确定服务名的当前执行状态。
要启用客户执行命令的请求,可以指定 lExpression 为“真”(.T.);要废止客户执行命令的请求,则可以指定 lExpression 为“假”(.F.)。“假”(.F.)
为默认值。
要返回服务名的当前命令执行状态,省略 lExpression 即可。如果客户对服务的命令执行请求已启用,则 DDESetService( ) 返回“真”;否则返回“假”。
下面的命令启用服务名 myservice 命令执行,并废止客户应用程序对这个服务名的数据请求,然后显示 myservice 的当前命令执行状态:

glExecute = DDESetService('myservice', 'EXECUTE', .T.)
glRequest = DDESetService('myservice', 'REQUEST', .F.)
? DDESetService('myservice', 'EXECUTE')

POKE

允许启用或废止对服务名的发送请求,或确定服务名的当前发送状态。有关向服务器或客户发送数据的详细内容,请参阅 DDEPoke( )。
要启用客户发送请求,可以将 lExpression 指定为“真”(.T.);将 lExpression 指定为“假”(.F.),则可以废止客户发送请求。“假”(.F.) 是默认值。
要返回服务名的当前发送状态,省略 lExpression 即可。如果启用了服务名的发送请求,则 DDESetService( ) 返回“真”,否则返回“假”。

REQUEST

可以用 REQUEST 启用或者废止对服务名的用户请求,或返回对服务名的当前请求状态。
要启用对服务名的客户请求,需将 lExpression 指定为“真”(.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 选项。将 lExpression 
指定为“真”(.T.) 可以启用一个选项,指定为“假”(.F.) 则可以废止一个选项。

说明

Visual FoxPro 可以作为一个动态数据交换 (DDE) 服务器向 Microsoft Windows 的客户应用程序发送数据,DDESetService( ) 用来创建、释放或更改 Visual FoxPro 中的服务名和设置。每个服务名可以有多个由 DDESetService( ) 创建的主题名,客户应用程序向 DDE 主题名请求数据。
如果成功地创建、释放或修改了服务名,则 DDESetService( ) 返回“真”(.T.);如果服务名不能被创建、释放或修改,则 DDESetService( ) 返回“假”(.F.)。
DDESetService( ) 也能返回有关服务名的信息。Visual FoxPro 有默认的服务名 Visual FoxPro,Visual FoxPro 服务名有一个称为 System 的主题名。下表列出了 System 主题支持的所有项名。

项名 
Topics 可用的主题名列表
Formats 服务名支持格式列表
Status 繁忙或等待
SysItems 项名列表

可以使用 DDESetTopic( ) 修改 Visual FoxPro 服务名或释放服务名。有关 Visual FoxPro 服务名操作的详细内容,请参阅 DDESetTopic( ) 选项。