SHELL messages
Contents
Run
SHELL sendershellid RUN msgid msgparameters
(via MESSAGE LOOP
)
SHELL sendershellid msgid msgparameters
(via GETMESSAGE
)
For the shell-to-shell communication the message SHELL-RUN is used. It is generated by either the Log window (e.g. for DDE commands) or the command MESSAGE RUN shellid command
. The format of SHELL-RUN depends on the message receive method. The macro GETMESSAGE
removes the keyword RUN
from the message. Therefore a message handler macro receives the first word of command as msgid instead of RUN
. For communication messages between shells, the macros PostMessage
(for sending) and GETMESSAGE
(for receiving) should be used. The SHELL
messages are normally generated and processed in macros and used to implement a special data-exchange or communication mechanism between applications. Some of these messages are preprocessed by or handled directly in the macro GETMESSAGE
.
DDE
SHELL shellid DDE ddecommandstring
This message is generated when STx receives a DDE-execute command from the operating system.
Note: the message is really generated by the Log window and placed in the message-queue of the master-shell. The master-shell translates and forwards the message to the shell running the application addressed in the DDE message.
Debugger
SHELL shellid DEBUG
Sent to the shell if the Debugger is started with the key combination Ctrl+D Ctrl+D.
Log Window
The messages sent by the Log window to the master shell are a special kind of shell-to-shell communication. All Log window messages are processed by the master shell. The id of the master shell is stored in the global variable @MASTER
. The master shell is implemented in the standard macro library.
MAIN MAIN MINIMIZE|MAXIMIZE|RESTORE|CLOSE par
This message is sent to the master shell when an item in the Log window's system menu is selected. The parameter par can be ignored.
MAIN MAIN POPUP menuitem
This message is sent to the master shell when a popup menu item is selected by the user. The parameter menuitem is computed in the same way as for displays and dialogs (100.menuindex + itemindex).