DDESetService( ) Function

See Also

Creates, releases, or modifies DDE service names and settings.

Syntax

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

Returns

Logical

Arguments

cServiceName

Specifies the service name to create, release, modify, or return information about.

cOption

Specifies to create, release or modify a service name or to return information about a service name. The following table lists the options you can specify with cOption, the default values for the options and a description of each option.

Option Default value Description
DEFINE Creates a new service name.
RELEASE Releases an existing service name.
ADVISE .F. Enables or disables client notification of changes to item names.
EXECUTE .F. Enables or disables command execution.
POKE .F. Enables or disables client pokes to the service.
REQUEST .T. Enables or disables requests to the service name.
FORMATS CF_TEXT Specifies supported data formats.

DEFINE

Creates a new service name. For example, the following command creates the service name myservice:

glNewService = DDESetService('myservice', 'DEFINE')

RELEASE

Releases an existing service name to free up system resources. When a service name is released, all of the service's topic names are also released.

The following command releases the service name created in the previous example:

glRelease = DDESetService('myservice', 'RELEASE')

To release the default Visual FoxPro service, issue this command:

glRelFox = DDESetService('FoxPro', 'RELEASE')

ADVISE

Specifies whether a client is notified when data changes in an item name or specifies to return the current advise status for a service name. Refer to DDEAdvise( ) for additional information about advising clients.

To enable client notification, specify true (.T.) for lExpression. Specifying false (.F.) for lExpression disables client notification.

To return the current client notification status for the service name, omit lExpression. DDESetService( ) returns true if client notification is enabled for the service name; it returns false if client notification is disabled.

EXECUTE

Allows you to enable or disable command execution requests to a service name or to determine the current execute status for a service name.

To enable client requests to execute a command, specify true (.T.) for lExpression. Specifying false (.F.) for lExpression disables client requests to execute a command. .F. is the default value.

To return the current command execution status for the service name, omit lExpression. DDESetService( ) returns true if client command execution requests are enabled for the service name; otherwise, it returns false.

The following commands enable command execution and disable data requests from client applications for the service name myservice. The current command execution status for myservice is then displayed:

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

POKE

Allows you to enable or disable poke requests to the service name. You can also determine the current poke status for a service name. Refer to DDEPoke( ) for additional information about poking data to a server or a client.

To enable client poke requests, specify true (.T.) for lExpression. Specifying false (.F.) for lExpression disables client poke requests. .F. is the default value.

To return the current poke status for the service name, omit lExpression. DDESetService( ) returns true if poke requests are enabled for a service name; it returns false if poke requests are disabled.

REQUEST

Use REQUEST to enable or disable client requests to a service name or to return the current request status for the service name.

To enable client requests to the service name, specify true (.T.) for lExpression. Specifying false (.F.) disables client requests to the service name. True (.T.) is the default value.

To return the current request status for a service name, omit lExpression. DDESetService( ) returns true if client requests are enabled for the service name; it returns false if client requests are disabled.

The following commands disable requests from client applications to the service name myservice and display the current request status for myservice:

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

FORMATS [cDataFormat]

Specifies the data formats supported by the service name. Server requests for formats not specified with cDataFormat are rejected. When specifying data formats, include a list of the supported formats separated by commas. For example:

=DDESetService('myservice', 'FORMATS', 'CF_TEXT, CF_SYLK')

If you omit cDataFormat, only the CF_TEXT format is supported.

lExpression

Specifies the state of the REQUEST, EXECUTE, POKE, or ADVISE options. Specify true (.T.) for lExpression to enable the option or false (.F.) to disable it.

Remarks

Visual FoxPro can act as a dynamic data exchange (DDE) server to send data to client Microsoft Windows-based applications. DDESetService( ) is used to create, release, or modify service names and settings in Visual FoxPro. Each service name can have a set of topic names created with DDESetTopic( ). Client applications request data from DDE topic names.

DDESetService( ) returns true (.T.) if the service name is successfully created, released, or modified. If the service name cannot be created, released, or modified, DDESetService( ) returns false (.F.).

DDESetService( ) can also be used to return information about a service name. Visual FoxPro has the default service name FoxPro. The Visual FoxPro service name has one topic name called System. The following table lists all the item names supported by the System topic.

Item name Item
Topics A list of available topic names
Formats A list of supported formats
Status Busy or Ready
SysItems A list of item names

You can use DDESetTopic( ) to modify the FoxPro service name or to release it. For information about manipulating Visual FoxPro service names, see the DDESetTopic( ) options.