Issues a poke transaction on an automatically managed conversation, to set the value of a specified item.
dde-poke* service topic item data &key format type errorp connect-error-p new-conversation-p => result
A symbol or string.
A symbol or string.
A string or symbol.
A string.
A clipboard format specifier.
A keyword.
A boolean.
A boolean.
The function
dde-poke*
is the same as dde-poke, except that conversations are managed automatically. The function issues a poke transaction to set the value of the item specified by
item
to the value specified by
data
. The argument
item
should be a string, or a symbol. If it is a symbol its print name is used.
If server names a client service registered with define-dde-client, the registered service name is used as the DDE service name. If server is any other symbol, the print name of the symbol is used as the DDE service name. If server is a string, that string is used as the DDE service name.
The topic argument 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.
For information on the format , type , and errorp arguments, see dde-poke .
If necessary, the function
dde-poke*
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 are 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), LispWorks signals an error if a conversation cannot be established. If it is
nil
,
dde-poke*
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.