Specifications
Python
A-7
••••••••
5 DDECLT PYTHON EXTENSION MODULE
ddeclt is a strings data based DDE client. A module which does not rely
on MFC. It provides a DDE service object class DDEclient, which must
be instantiated to enable using the DDE API.
The DDEclient object is a Python wrapper around a C module, _ddeclt,
which provides the C API binding into Python.
Example:
import ddeclt
dde = DDEclient()
dde.Connect('application', 'topic')
dde.Execute('command')
del dde
Known problems
1. Request fails while an Advise link is present.
When an item is attached to with a hot link, see Advise()
, a
Request()
may fail when the server frequently updates the hot linked item. Somehow
the Requested data gets invalidated by the recursive servicing of the
Advise link. Apparently the cause is the XTYP_ACKREQ flag to the
Advise() call. For Windows NT it is not necessary, hence the default is
off.
2. The receiver does not get the messages sent to it.
This happens if the message queue fills up under Windows 3.1 and 9x. If
the client does not keep up with the server, the message queue will
eventually fill up. Then messages are lost because PostMessage fails. The
only answer is to stop the server manually when (and if) prompted by
Windows. The user interfaces will probably not respond. If the server
continues attempting to post messages the system is likely to crash. The
fAckReq flag was introduced to address this problem.
Under Windows NT this does not happen, the queue continues to grow. If
the client catches up, the queue starts reducing again. If not, the task
scheduling is changed to reduce it. The user interfaces will probably
continue to respond, although the T
ask Manager may r
eport that the
application is not responding. Windows NT appears to be bullet-proof,
you can safely choose not to use the fAckReq flag.