with-dde-conversation ( conv service topic &key errorp new-conversation-p ) &body body => result
A conversation object.
A symbol or string.
A symbol or string.
A boolean.
A list of Lisp forms.
The macro
with-dde-conversation
dynamically binds a conversation with a server across the scope of a body of code specified by
body
. The argument
conv
is bound to a conversation with the server specified by
service
, and the topic specified by
topic
.
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.
An existing conversation may be used, if available, unless new-conversation-p is true, in which case a new conversation is always created.
If a new conversation is created, it is disconnected after body has executed as an implicit program.
If a conversation cannot be established, the result returned by the function depends on the value of
errorp
. If
errorp
is
t
(the default value), then LispWorks signals an error. If
errorp
is
nil
, the body is not executed, and
nil
is returned.