All Manuals > LispWorks® User Guide and Reference Manual > 50 The DDE client interface

dde-execute-command* Function

Summary

Sends a command string to a specified service on a given topic.

Package

win32

Signature

dde-execute-command* service topic command arg-list &key errorp connect-error-p new-conversation-p => result

Arguments
service
A string or symbol.
topic
A string or symbol.
command
A string or symbol.
arg-list
A list of strings, integers, and floats.
errorp
A boolean.
connect-error-p
A boolean.
new-conversation-p
A boolean.
Values
result
A boolean.
Description

The function dde-execute-command* is similar to dde-execute-command, and sends a command string to the server specified by service on a topic given by topic. The command string consists of command and arg-list, which are combined using the appropriate argument-marshalling conventions. By default, the syntax is:

[command(arg1,arg2,...)]

If service names a client service registered with define-dde-client, the registered service name is used as the DDE service name. If service is any other symbol, the print name of the symbol is used as the DDE service name. If service is a string, that string is used as the DDE service name.

topic specifies the DDE topic name to be used in the conversation. If it is a symbol, the symbol's print name is used. If it is a string, the string is used.

If necessary, the function dde-execute-command* creates a conversation for the duration of the transaction, but if a suitable conversation already exists, the transaction is executed over that conversation. Hence, if several transactions will be made with the same service and topic, placing them inside a with-dde-conversation prevents a new conversation being established for each transaction.

If new-conversation-p is set to t a new conversation is always established for the transaction. This new conversation is always automatically disconnected when the transaction is completed.

If connect-error-p is t (the default value) and a conversation cannot be established, then LispWorks signals an error. If it is nil, dde-execute-command* returns nil if a conversation cannot be established. This allows the caller to distinguish between the cases when the server is not running, and when the server is running but the transaction fails.

Upon success, this function returns a result of t. On failure, the behavior depends on errorp. If errorp is t (the default value), LispWorks signals an error. If it is nil, the function returns nil to indicate failure.

See also

dde-execute
dde-execute-string
dde-execute-command


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:09