ProGEM: GEM-Programmierung leichtgemacht

So einfach und komfortabel sich GEM-Programme auch bedienen lassen, so leicht dreht sich dieser Vorteil um, wenn es um die Entwicklung eigener Programme geht. Selbst einfache Ausgaben benötigen einen vergleichsweise großer Programmieraufwand. Dies macht es vor allem für Anfänger sehr schwer, saubere Programme zu schreiben.

Sieht man genauer hin, stellt sich heraus, daß GEM-Programme im Kern immer sehr ähnlich auf gebaut sind. Damit wird es möglich, durch intelligente Zusammenfassung der Einzelanweisungen die Programmierung stark zu vereinfachen. Mit ProGEM liegt nun eine entsprechende Library für MAXON Pascal vor. Dazu werden noch Erweiterungen angeboten, die heute in vielen Programmen bereits zum Standard gehören, wie z.B. fliegendeDialoge oder die Dialogausgabe über Fenster.

Umfang

ProGEM wird als Diskette ausgeliefert. Auf dieser finden sich neben der eigentlichen Bibliothek auch das Handbuch sowie einige Beispielprogramme und ein Programmgrundgerüst. Auch wer bereits einige weitere Bibliotheken in die Pascal.Lib eingefügt hat, braucht auf ProGEM nicht zu verzichten. Der Libmaker mit der Verbesserung einer Fileselektorbox ist ebenfalls mit dabei.

Bibliotheksumfang

ProGEM teilt sich in drei Units auf. Dies ist einmal die Unit AESDecl, welche die vom AES benötigten Strukturen definiert und auch die bei MAXON Pascal vergessenen Routinen FORM_KEYBD und FORM_BUTTON liefert. Die Unit GEM-Int stellt neben der Initialisierung von AES und VDI eines Programmes noch Routinen für die Dialogprogrammierung und Pop-Up-Menüs zur Verfügung. Änderungen an einzelnen Objekten (Flags, States usw.) und Abfrage von editierbaren Objekten sind ebenfalls möglich. Die Unit GEMWin ist zuständig für Initialisierung, Verwaltung und Redraw von Fenstern. Zusätzlich können Fenster mit eigenen Menüs ausgestattet werden. ProGEM übernimmt auch die komplette Verwaltung der Fensterelemente.

Sonderfunktionen

Wie bereits erwähnt, erweitert ProGEM in vielen Bereichen die Standardmöglichkeiten um viele sinnvolle, aber nicht unbedingt leicht zu programmierende Erweiterungen. So können Dialoge als Flydials definiert werden und lassen sich dann frei auf auf dem Bildschirm bewegen. Buttons lassen sich auch per Tastatur steuern. Runde Radiobuttons sind ebenso möglich wie die allseits beliebten Checkboxen. Um eine schönere optische Aufmachung zu ermöglichen, können Überschriften unterstrichen und Boxen mit einer eingepaßten Box-Überschrift versehen werden. Diese erweiterten Objekttypen werden unter Verwendung des von ATARI freigegeben HiBytes von ob_type genutzt. Die benötigten Codes sind in Bild 1 erkennbar. Neben den erweiterten Möglichkeiten in Fenstern (Pull-Down-Menüs) lassen sich auch Dialoge in Fenstern darstellen. Dies ist besonders interessant für die wohl in Bälde zu erwartende Einführung von Multi-TOS. Während sonst ein Dialog das ganze System zum Anhalten zwingt, laufen bei einem Fensterdialog die anderen Prozesse munter weiter.

Bild 1: Die erweiterten Objekttypen

Kritikpunkte

Während der Testphase traten keine Fehler oder Abstürze bei mit ProGEM programmierten Programmen auf. Dennoch geben einige Punkte Anlaß zur Kritik, die sich aber eher auf Feinheiten erstrecken, den Gesamtvorteil der Bibliothek abernicht im wesentlichen schmälern. Die Speicherplatzreservierung scheint sehr statisch zu sein. So wird der benötigte Speicher für die Flydials bereits bei Programmbeginn geholt und belegt damit dauerhaft etwa 150 KB. Auch die Vektoren von etv_term und Division by Zero werden verbogen. Das ist unverständlich. Durch die etwas andere Aufteilung der Routinen kann nicht wahlweise auf die GEMeigenen oder auf die von ProGEM zurückgegriffen werden. Im Beispielprogramm werden gleich zu Beginn vier Fenster reserviert. Dies kann zu einer Blockierung von Accessories führen, da, wenn nicht MultiTOS oder Winx benutzt wird, nur drei Fenster übrigbleiben. Die Menüleisten in den Fenstern könnten durch die Verlagerung in die Infozeile den Arbeitsraum vergrößern. Obwohl die Fenster sonst sauber programmiert sind, klappt das Hintergrund-Scrolling nicht unter MultiTOS. Einige weitere Kleinigkeiten sind z.B., daß bei Radio- und Checkbuttons die Texte nicht mit der Maus angeklickt werden können und die erweiterten Objekttypen inkompatibel sind zu bereits bestehenden Libraries. Fensterdialoge mit editierbaren Objekten sind leider nicht möglich, weil dazu eine eigene obj_edit-Routine notwendig ist. Diese könnte dann auch erweiterte Funktionen wie wortweises Springen, HOME/ SHIFT HOME und Cursor-Turn-Around bieten. Das Handbuch ist, die nötige Erfahrung vorausgesetzt, sehr ausführlich. Für Anfänger sollten jedoch für das schwierige Redraw von Fenstern einige Beispiele beigefügt werden, welche die wichtigsten Anwendungen abdecken.

Bilanz

Die obige Kritik sollte nicht überbewertet werden. Der überwiegende Teil davon ist sehr leicht zu ändern und tut der ausgezeichneten Funktion keinen Abbruch. Für nur 30.- DM erhält der MAXON-Pascal-Programmierer eine sehr aufwendige und arbeitserleichternde Bibliothek, die sowohl Anfängern als auch Fortgeschrittenen die Programmierung sehr erleichtert. Es ist noch einiges an Verbesserungen und Erweiterungen zu erwarten, so daß ProGEM auch wegen des ausgezeichneten Preis/ Leistungsverhältnisses bei keinem Programmierer fehlen sollte.

Bild 2: Pop-Up-Menüs

Bezugsquelle:

MAXON -Computer GmbH Schwalbacher Straße 52 W-6236 Eschborn

ProGEM-Library

Positiv:

Negativ:


Rainer Esser
Aus: ST-Computer 11 / 1992, Seite 132

Links

Copyright-Bestimmungen: siehe Über diese Seite