GEMScript Teil III - GEMywoodKamera ab, Ton ab... Das ATOS-Magazin 4/98Bei GEMScript nun ist dies ein wenig anders realisiert. Um ein Skript
aufzunehmen, sollte man als Applikation zuerst einmal den Scriptinter-
preter nachstarten. Dies geschieht durch Ermitteln der
Environmentvariablen "GEMSCRIPT" und anschließendem Starten des dort
gefundenen Programms, vorzugsweise mit shel_write(). Der Vorgang
hierzu ist dem Nachstarten des OLGA-Managers nicht unähnlich, wer das
schon einmal gemacht hat, dem sollte es nicht schwerfallen, auch den
Skriptinterpreter derart aufzurufen.
Ist das geschehen, müssen wir dem Interpreter mitteilen, daß wir ein
solches Makro aufnehmen wollen. Dies geschieht über die folgende
Message im bereits bekannten Messageformat:
GS_OPENMACRO
msg[0] GS_OPENMACRO
msg[1] AES-ID der Applikation
msg[2] 0
msg[3]
+ Pointer auf Dateinamen, unter dem das Skript gespeichert
werden soll
msg[4]
msg[5] 0
msg[6] 0
msg[7] 0
Die Antwort vom Interpreter auf diese Message ist GS_MACRO:
msg[0] GS_MACRO
msg[1] AES-ID
msg[2] 0
msg[3]
+ exakt die Werte der empfangenen GS_OPENMACRO-Nachricht
msg[4]
msg[5] ID (am einfachsten das Dateihandle) zur Identifizierung des Scripts
msg[6] 0: Datei ist geöffnet, Aufzeichnung kann beginnen; sonst: Fehler
msg[7] 0
Die Extension des Dateinames, der bei GS_OPENMACRO mitgeschickt wird,
erfahren wir aus der in der Message GS_REPLY mitgeschickten GS_INFO-
Struktur (siehe letzte Ausgabe).
Es empfiehlt sich folgendes Vorgehen, wenn der User ein Makro auf-
zeichnen möchte:
∙ Suchen und Starten des Interpreters
∙ Anmelden beim Interpreter
∙ Öffnen eines Fileselectors, mit der ermittelten Extension
vorgeblendet
∙ Senden von GS_OPENMACRO an den Interpreter unter Übergabe des
Dateinamens aus dem Fileselector
und Action...