Next Prev Up Top Contents Index

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

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

See also

define-dde-client


LispWorks Reference Manual - 13 Jun 2003

Next Prev Up Top Contents Index