<< Inhaltsverzeichnis Suchen >>

GR_SEND_EBUS_MESSAGE

Anweisung

Syntax:

GR_SEND_EBUS_MESSAGE(<EMPFAENGER>,<NACHRICHT>,
                                                     <NACHRICHTENTYP>)

<EMPFAENGER>            = <STRING-AUSDRUCK>
<NACHRICHT>                = <STRING-AUSDRUCK>
<NACHRICHTENTYP>   = <NUM-AUSDRUCK>

Bedeutung:

GR_SEND_EBUS_MESSAGE schickt unter WINDOWS an das EBUS-Programm <EMPFAENGER> die <NACHRICHT> und den <NACHRICHTENTYP>. Bei <EMPFAENGER> ist der Name des Hauptprogramms, an das die Nachricht geschickt werden soll, anzugeben. Ist <EMPFAENGER> der Leerstring "", so wird die <NACHRICHT> an alle gerade laufenden EBUS-Programme geschickt.

Läuft das Programm <EMPFAENGER> nicht, so hat die Anweisung GR_SEND_EBUS_MESSAGE keine Wirkung.

Im <EMPFAENGER>-Programm wird beim Eintreffen der Nachricht der ON EBUS_MESSAGE MACRO ausgeführt. In diesem Macro kann auf folgende Variablen zugegriffen werden:

 

Variable

Inhalt

 

EBUS_MESSAGE_SENDER$

EBUS_MESSAGE$

EBUS_MESSAGE_TYPE              

Hauptprogrammname des Absenders der Nachricht
<NACHRICHT> von
GR_SEND_EBUS_MESSAGE
<NACHRICHTENTYP> von GR_SEND_EBUS_MESSAGE

Beispiel:

/* Das Hauptprogramm PROG1 startet das Programm PROG2
DISABLE GR_WAITSHELL
SHELLW "PROG2"
ON EXIT MACRO PROG1.ENDE

Macro PROG1.ENDE:
/* Wenn das Programm PROG1 beendet wird, soll auch das
/* Programm PROG2 beendet werden.
GR_SEND_EBUS_MESSAGE("PROG2","Beenden",0)

/* Im Programm PROG2 muß der ON EBUS_MESSAGE MACRO
/* definiert sein:
ON EBUS_MESSAGE MACRO PROG2.EBUS.MESSAGE

Macro PROG2.EBUS.MESSAGE:
IF EBUS_MESSAGE_SENDER$ = "PROG1"           /* Absender ist PROG1
AND EBUS_MESSAGE$ = "Beenden"
THEN TERMINATE                                                       /* Programm beenden
ENDIF

siehe auch:

EBUS_MESSAGE$, EBUS_MESSAGE_SENDER$,
EBUS_MESSAGE_TYPE
, GR_SEND_TO_WINDOW