infra:NET Expert
 
×
6 Programmaufbau
Eine INFRA-Applikation muss drei Hauptgruppen von Funktionalitäten miteinander verbinden: Die Dialogsteuerung mittels GRIT, die Verwaltung und Auswertung der SIBDEFS durch das GUI und die eigentliche programmspezifische Funktionalität der Applikation. Diese drei Gruppen werden durch die folgenden Objekte bzw. Struktur repräsentiert:
Mit GRIT-Frame ist das GwFrame-Objekt bezeichnet, das den mit dem GRIT-Editor erzeugten Dialog mit allen dazugehörigen Elementen repräsentiert. Im allgemeinen ist dieses Objekt bereits fest durch die Angaben im CGW gegeben und bleibt unverändert.
Der GUI-Frame ist eine in GuiDefs.HPP definierte Struktur, die vom GUI-Modul zur Verwaltung und Steuerung der SIBDEFs des zugehörigen GRIT-Frames benutzt wird. Jedem GRIT-Frame ist genau ein GUI-Frame zugeordnet. Diese Verknüpfung wird durch das Datenelement pgwcFrameObj in der GUI-Frame-Struktur hergestellt, das auf den assoziierten GRIT-Frame zeigt. Der GUI-Frame ist Bestandteil des Kernsystems und muss nicht programmiert werden.
Mit Appl.-Dialog ist ein Objekt bezeichnet, das die in der Applikation zu verarbeitenden Daten verwaltet, und die dazu benötigten Methoden zur Verfügung stellt. Die Programmierung dieser Klasse stellt die eigentliche Entwicklung der Applikation dar. Die Verknüpfung des Appl.-Dialogs mit dem GRIT-Frame und dem GUI-Frame erfolgt durch eine Datenstruktur, die beim Datenelement pvData des GUI-Frames hinterlegt wird. Ein Element dieser Struktur zeigt auf den zugehörigen Appl.-Dialog.
Damit sind im GUI-Frame jeweils Zeiger auf beide mit ihm verknüpfte Objekte hinterlegt, wodurch eine vollständige Assoziation der drei Objekte gegeben ist.
Jeder an der Benutzeroberfläche sichtbare Dialog der Druckerauswahl bzw. Druckerkonfiguration wird über eine derartige Dreiergruppe gesteuert. Für jeden Dialog existiert daher eine Dialog-Klasse (Appl.-Dialog), in der die Funktionalität der Applikation gekapselt ist. Jede diese Dialog-Klassen ist von einer Basisklasse abgeleitet, in der die gemeinsame Funktionalität implementiert ist. Zwei weitere in Sys920 definierte Klassen dienen zur Verwaltung der Daten und zum Aufbau der Dateiliste beim Programmstart. Im folgenden sind alle diese Klassen aufgelistet:
Klasse
Zweck
Sys920Dialog
Basisklasse für alle Dialog-Klassen
Sys920MainDialog
Hauptdialog
Sys920ChngDialog
Dialog ‘Dateidefinition bearbeiten’
Sys920ActnDialog
Dialog ‘Änderungen durchführen’
Sys920DataSet
Klasse zur Verwaltung der Daten
Sys920FillStruct
Klasse, die beim Aufbau der List benutzt wird
In der Basisklasse Sys920Dialog werden die Attribute und Methoden gehalten, die allen Dialog-Klassen gemeinsam sind. Als Attribute sind hier u.a. das Application-Handle und diverse Zeiger auf den zugehörigen GRIT-Frame und GUI-Frame, sowie auf die entsprechenden Objekte des Haupt- und des Vater-Dialogs definiert. Neben den öffentlichen Methoden zum Setzen und Erfragen dieser Attribute, sind hier auch einige Funktionen zum bequemen Zugriff auf Eingabeelemente des zugehörigen GRIT-Frames definiert. Als Argument wird bei diesen (protected) Methoden die ID des Eingabeelements übergeben. Es wird dann jeweils nach dem ersten Kind innerhalb des GRIT-Frames gesucht, das diese ID besitzt und die entsprechende Aktion für dieses Element ausgeführt.