SHELL messages

From STX Wiki
Jump to navigation Jump to search

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