6. Rebuild-Funktion ------------------------ Wenn Sie eine neue Anwendung starten oder die aktuelle verlassen, so wird Ihr aufgebautes System von Info-Fenstern nat�rlich �berschrieben. Ein besonderes Feature des Programms ist jedoch, daž es die so �berschriebene Konfiguration nach M”glichkeit vollst„ndig wiederherstellt, sobald Sie es anschliežend wieder aktivieren (Men�titel anklicken). Es werden alle Fenster (soweit m”glich) wieder erzeugt und die im Speicher gehaltenen Datei-Inhalte in dem vorher verlassenen Zustand angezeigt. Beachten Sie also, daž offene Fenster entsprechenden Speicherplatz blockieren k”nnen, wenn Sie sie nicht schliežen. Die Rebuild-Funktion bietet den Vorteil, die Fenster-Konfiguration in eine andere Applikation 'hin�berretten' zu k”nnen. Dies gilt besonders f�r Programme, die fast den gesamten verf�gbaren Speicher f�r sich reservieren, so daá Accessories dann kaum noch Spielraum haben (das sind z.B. viele Textprogramme wie WORDPLUS oder TEMPUS). Mit 1st Guide k”nnen Sie in diesem Fall alle ben”tigten Fenster vorher ”ffnen, so daá diese Programme von vornherein weniger Speicher bekommen. Nach dem Start des Programms kann dann problemlos auf die Konfiguration zugegriffen werden. Alle bisherigen Betriebssystemversionen haben die unangenehme Eigenschaft, daá Accessories nicht als eigenst„ndige GEMDOS-Prozesse betrachtet werden. Dies hat zur Folge, daá Speicher, der durch ein Accessory beim Betriebssystem angefordert wird, immer der gerade laufenden Hauptapplikation zugeordnet wird. Wenn man nun diese Hauptapplikation verl„át, so wird automatisch aller von ihr (und dummerweise eben auch von benutzten Accessories) angeforderter Speicher durch das Betriebssystem freigegeben. Verl„át man nun ein Programm, in welchem man mit 1st Guide Dateien geladen hat, so kann 1st Guide diese eben nicht restaurieren, da der dazu reservierte Speicherplatz ohne R�cksicht auf Verluste freigegeben wird. Um nun zu erkennen, ob ein Fenster "rebuildet" werden kann, benutzt 1st Guide eine von Atari dokumentierte Systemvariable, die auf den aktuellen GEMDOS-Prozeá zeigt (unter MSDOS wird dazu eine Funktion namens "get PSP" benutzt). Dieser Zeiger auf den aktuellen Prozeá-Descriptor wird nun bei jedem Laden einer Datei abgefragt und zu den Fensterdaten mit gesichert. Falls nun eine Rebuild-Situation eintritt, fragt 1st Guide den Zeiger auf den aktuellen Prozeá-Descriptor erneut ab und vergleicht diesen Wert mit dem gesicherten. Bei einer šbereinstimmung kann nun das Fenster "rebuildet" werden, sonst nicht. Zus„tzlich wird der gesicherte Wert noch mit den Werten der Parent-Prozeá-Zeiger verglichen, da auch und gerade in diesem Fall ein Rebuild m”glich ist. Dies ist m”glich, da die Prozeá-Descriptoren nichts anderes als die Basepages sind, welche �ber den Parent-Prozeá-Pointer untereinander verkettet sind, so daá sich 1st Guide durch diese Prozeá-Liste 'durchhangeln' kann (der "Programm-Segment-Pr„fix" unter MSDOS bietet diese M”glichkeit nicht, hier kann nur der eigentliche Wert verglichen werden). Die hier beschriebene Vorgehensweise ist v”llig legal und benutzt nur dokumentierte Features (kein Schreibzugriff auf "actpd" !), so daá zuk�nftige Betriebssytemversionen keine Probleme bereiten sollten. Falls Accessories einmal den Status von 'richtigen' GEMDOS-Prozessen erhalten sollten (dies ist zu w�nschen), funktioniert diese Methode ebenfalls und es k”nnen stets alle Fenster "rebuildet" werden, da das Programm dann immer seinen eigenen Prozeá-Descriptor "zu sehen" bekommen m�áte. Nachtrag: Unter MultiTOS gibt es keine Probleme, da weder Accessory- noch Applikationsfenster durch das System geschlossen werden.