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

dde-request* Function

Summary

Issues a request transaction on an automatically managed conversation for a specified item.

Package

win32

Signature

dde-request* service topic item &key format type errorp connect-error-p new-conversation-p => result successp

Arguments
service
A symbol or string.
topic
A symbol or string.
item
A string or symbol.
format
A clipboard format specifier.
type
A keyword.
errorp
A boolean.
connect-error-p
A boolean.
new-conversation-p
A boolean.
Values
result
The return value of the transaction.
successp
A boolean.
Description

The function dde-request* is similar to dde-request, except that conversations are managed automatically. The function issues a request transaction for the specified item, which should be a string, or a symbol. If it is a symbol its print name is used.

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.

For information on format, type, and errorp see dde-request.

If necessary, the function dde-request* will create a conversation for the duration of the transaction, but if a suitable conversation already exists, the transaction will be 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), then LispWorks signals an error if a conversation cannot be established. If it is nil, dde-request* 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.

See also

dde-item
dde-poke
dde-request


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