Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03160.jsonl.gz/735

Nächste Seite: Hinweise zur Programmierung
Aufwärts: Das Laufzeitsystem LArts
Vorherige Seite: Arts-Prozeduren
Der Hauptteil jedes Moduls wird von der Prozedur Arts.Startup aufgerufen.
Dieser Aufruf geschieht im Forbid-Zustand, d.h. ein Taskwechsel
ist hier unterbunden. Folglich haben die Prozeduren ,,sicheren``
Zugriff auf alle globalen Variablen. An dieser Stelle sollten die
notwendigen Initialisierungen durchgeführt werden. Zum Beispiel
kann man hier zum späteren, leichteren Zugriff auf die Basis
einen Zeiger darauf in einer globalen Variablen ablegen. Dadurch hat
man die Wahl, innerhalb der exportierten Prozeduren entweder das Register
A6 oder diese globale Variable als Basis zu benutzen.
Falls in einer der Initialisierungs-Prozeduren ein Fehler auftritt,
sollte diese Prozedur die Variable dosCmdLen auf 0 setzen.
Startup prüft nach der Initialisierungsphase diese Variable und
verzweigt im Fehlerfall direkt nach Terminate. Dadurch werden alle
benötigten Objekte auch im Fehlerfall wieder sauber freigegeben.
Damit im eingetretenen Fehlerfall keine weiteren Initialisierungen
erfolgen, sollte jeder Modulrumpf und jede CLOSE-Prozedur
etwa so aussehen:
BEGIN
IF dosCmdLen<>0 THEN
...
END
END.
Claudio Nieder
2000-11-12