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

with-dde-conversation Macro

Summary

Dynamically binds a conversation to a server across a given body of code.

Package

win32

Signature

with-dde-conversation (conv service topic &key errorp new-conversation-p) &body body => result

Arguments
conv
A variable.
service
A symbol or string.
topic
A symbol or string.
errorp
A boolean.
new-conversation-p
A boolean.
body
A list of Lisp forms.
Values
result
A boolean.
Description

The macro with-dde-conversation dynamically binds a conversation with a server across the scope of a body of code specified by body. conv is bound to a conversation with the server specified by service, and the topic specified by topic.

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.

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 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.

See also

define-dde-client


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