Xerox -05W Printer User Manual


 
13-6
Dynamic Data Exchange
File Transfer
TeemTalk for Windows 3.1 (not Windows 95 or NT) supports DDE links with its file
transfer executable, TTFLER.EXE, distributed with the standard TeemTalk package.
Without getting too deep into the internal windows messages that are transmitted, the
link between TeemTalk and TTFLER can briefly be summarised as follows.
All data communications between the two applications are Cold links. That is, each
exchange of data needs to be invoked via an explicit request for it from one or the
other partners. TeemTalk in fact initiates the link and as such is considered to be the
Client. Once the link is established, TeemTalk does not try and display or act upon any
subsequent data it receives from the currently connected host. All data is deemed to
be of importance to the file transfer utility and so is just buffered up and sent across
the DDE link when requested to do so. In a similar fashion, the file transfer utility
also has a monopoly on the transmission of data, so all input to TeemTalk is ignored,
except for that sent to it via the DDE link, which will then be directed on to the host.
This situation continues until the File Transfer Utility sends a message to TeemTalk
that it has finished, which then allows TeemTalk to revert to its normal mode of
operation.
Slave Mode
TeemTalk for Windows 3.1 (not Windows 95 or NT) provides a Slave mode which
allows another Windows based application to send formatted data to be interpreted
by TeemTalk. For example, a Windows based package could be written to send
Tektronix 4207 escape sequences which could be interpreted by TeemTalk-07W, and
thereby the application could use the capabilities of TeemTalk-07W to display the
resultant image.
One way that a process can act as a DDE client to TeemTalk is by initiating a DDE
link specifying a particular topic of "Slave", coded as follows:
atomApplication = GlobalAddAtom("TT07W");
atomTopic = GlobalAddAtom("Slave");
SendMessage(
-1,
WM_DDE_INITIATE,
hwndClientDDE,
MAKELONG(atomApplication, atomTopic)
);
GlobalDeleteAtom(atomApplication);
GlobalDeleteAtom(atomTopic);
In this example, connection would be attempted between the client and the TeemTalk-
07W program, assuming that this was named TT07W.EXE.