2.3 Zugriffsfunktionen
Mit Hilfe der folgenden Funktionen können Sie die Objekte des Dialog Managers und deren Attribute manipulieren. Sie sollten immer nur mit diesen Funktionen auf die Objektstrukturen zugreifen.
2.3.1 Zugriff auf Dialog Manager Identifikatoren
Um die einzelnen Objekte identifizieren zu können, werden die Namen benötigt, die sie den Objekten in den Dialogen und Modulen gegeben haben. Mit Hilfe dieses Namens können Sie vom Dialog Manager die interne ID des Objekts erfragen. Mit dieser ID können Sie dann dem Dialog Manager mitteilen, welches Attribut von welchem Objekt Sie erfragen bzw. verändern möchten.
-
DM_DialogPathToID (veraltet, ersetzt durch DM_ParsePath)
Diese Funktion gibt den Dialog Manager Identifikator eines Objekts zurück. Diese Funktion kann jedoch mehr als einen Dialog verarbeiten.
-
Diese Funktion sucht in einem beliebigen Dialog nach einem Objekt und gibt dessen Objekt-ID zurück.
-
DM_PathToID (veraltet, ersetzt durch DM_ParsePath)
Diese Funktion gibt den Dialog Manager Identifikator des Objekts zurück. Diese ID muss für alle anderen Aufrufe an den Dialog Manager benutzt werden.
2.3.2 Zugriff auf Objektattribute
Um auf irgendein Objektattribut zugreifen zu können, brauchen Sie den Objekt-Identifikator, den Datentyp und den Attribut-Identifikator.
-
Mit dieser Funktion kann signalisiert werden, dass sich an einem bestimmten Datenmodell (Model-Komponente) der Wert des angegebenen Attributs (Model-Attribut) geändert hat.
-
Diese Funktion gibt in einem Aufruf den Wert von mehreren gewünschten Attributen zurück.
-
Diese Funktion gibt den Wert des gewünschten Attributes von jedem Objekt zurück.
-
Diese Funktion gibt den Wert des gewünschten Attributes vom gegebenen Objekt zurück. Im Gegensatz zu DM_GetValue arbeitet diese Funktion mit zwei Indices.
-
Diese Funktion setzt in einem Aufruf mehrere Attribute auf den Wert des Objektmodells oder -default zurück.
-
Diese Funktion setzt das Attribut auf den Wert des Objektmodells oder -default zurück.
-
Diese Funktion setzt das Tablefield-Attribut auf den Wert des entsprechenden Defaultattributs (mit Index 0) zurück.
-
Diese Funktion verändert in einem Aufruf mehrere Attribute zu dem übergebenen Wert.
-
Diese Funktion verändert das Attribut zu dem übergebenen Wert.
-
Diese Funktion verändert das Attribut zu dem übergebenen Wert. Im Gegensatz zu DM_SetValue arbeitet diese Funktion mit zwei Indices.
2.3.3 Behandlung vektorieller Attribute
Diese Funktionen dienen zur Behandlung sog. "vektorieller Attribute", d.h. Attribute, die mehrmals bei einem Objekt auftauchen.
-
Mit dieser Funktion kann allokierter Speicherplatz wieder freigegeben werden.
-
Diese Funktion kann mehrere Attributwerte zurückgeben.
-
Mit dieser Funktion können mehrere Attributwerte gesetzt werden.
2.3.4 Behandlung komplexer vektorieller Attribute
Um den Inhalt eines Tablefields oder einer Listbox effizient zu verarbeiten, können Sie folgende Funktionen benutzen:
-
Diese Funktion gibt den belegten Speicherplatz für einen Objektinhalt frei, welcher durch einen Aufruf von DM_GetContent zurückgegeben wurde.
-
Diese Funktion gibt den gegenwärtigen Inhalt eines Objekts zurück.
-
Diese Funktion ersetzt den gegenwärtigen Inhalt des Objekts durch einen neuen Inhalt.
2.3.5 Erzeugen und Zerstören von Objekten
Objekte können mit den beiden folgenden Funktionen dynamisch erzeugt und zerstört werden.
-
Diese Funktion erzeugt ein Objekt einer spezifizierten Klasse und gibt seinen Identifikator zurück. Nachdem das Objekt erfolgreich erzeugt wurde, kann darauf von einer DM-Funktion zugegriffen werden.
-
Diese Funktion zerstört jedes Objekt. Nach einem Aufruf dieser Funktion, kann keine DM-Funktion mehr auf diese Objekte zugreifen.
2.3.6 Speicherverwaltungsfunktionen
Mit Hilfe der im folgenden aufgeführten Speicherverwaltungsfunktionen können Speicherbereiche auf portable Art allokiert und wieder freigegeben werden, ohne auf die für das jeweilige Betriebssystem optimalen Funktionen zurückgreifen zu müssen. Werden diese Funktionen in einer Anwendung eingesetzt, müssen Sie auf jeden Fall darauf achten, dass der Speicher, der mit den hier beschriebenen Funktionen allokiert wurde, auch nur mit diesen Funktionen wieder freigegeben werden darf. Prinzipiell können unterschiedliche Methoden der Speicherallokierung gemischt werden; ein einmal allokierter Speicher kann aber nur mit derselben Art von Funktion weiterbearbeitet werden.
-
Diese Funktion allokiert Speicher in vorgegebener Größe und vorgegebener Anzahl.
-
Diese Funktion gibt allokierten Speicher wieder frei.
-
Diese Funktion allokiert Speicher in einer vorgegebenen Größe.
-
Diese Funktion allokiert Speicher in einer vorgegebenen Größe.
2.3.7 Dienstleistungsfunktionen (Utilities)
-
Mit Hilfe dieser Funktion kann eine Methode eines Objekts aus dem Programm heraus aufgerufen werden.
-
Mit Hilfe dieser Funktion können benannte Regeln mit Parametern von der Anwendung aufgerufen werden.
-
Durch diese Funktion kann die Anwendung den Bildschirm neu aufbauen, das gegenwärtig benutzte Codeset umschalten oder die Tastatur sperren.
-
Mit dieser Funktion können generelle Einstellungen im ISA Dialog Manager geändert oder Aktionen ausgelöst werden.
-
Mit dieser Funktion werden IDM Zustandsinformationen in die Log- bzw. Tracedatei herausgeschrieben.
-
Diese Funktion startet ein anderes Programm.
-
Besitzt ein editierbarer Text ein Format, so wird diese Funktion für alle anfallenden Aufgaben (wie z.B. Setzen des Formates, Eingabeüberprüfung, Navigation usw.) aufgerufen.
-
Diese Funktion dient zur sicheren Funktionsrückgabe von lokalen Index-Werten (DM_Index) an den Aufrufer.
-
Diese Funktion öffnet eine Messagebox oder eine Dialogbox (Fenster mit gesetztem Attribut .dialogbox = true).
-
Mit dieser Funktion kann eine noch nicht vergebene Nachrichtennummer für DM_InputHandler abgefragt werden (nur IDM für Windows).
-
Mit Hilfe dieser Funktion können Messageboxes geöffnet werden.
-
Mit Hilfe dieser Funktion kann ein Ereignis in eine Queue gestellt werden und dadurch eine Regel ausgeführt werden, die einem externen Ereignis zugeordnet ist.
-
Diese Funktion schreibt die aktuellen Werte aller konfigurierbaren Record-Instanzen und globalen Variablen eines Dialogs oder Moduls in eine Konfigurationsdatei (profile).
-
Mit Hilfe dieser Funktion kann ein Ereignis in eine Queue gestellt werden und dadurch eine Regel ausgeführt werden, die einem externen Ereignis zugeordnet ist.
Im Unterschied zu DM_QueueExtEvent wird das externe Ereignis durch eine DM_Value-Struktur definiert, wodurch die Verwendung von Message-Ressourcen ermöglicht wird.
-
Mit dieser Funktion wird ein Methodenaufruf in die Ereignis-Warteschlange gestellt und asynchron aus der Ereignisschleife heraus ausgeführt.
-
Durch diese Funktion kann die Anwendung Strings in das Tracefile schreiben.
-
Diese Funktion dient zur sicheren Funktionsrückgabe von lokalen DM_Value-Werten an den Aufrufer.
Siehe auch
Kapitel „Einbinden benutzerdefinierter Funktionen (Handler)“
2.3.8 Spezielle Funktionen
Diese Funktionen werden normalerweise nicht benutzt, d.h. nur in Ausnahmefällen, da sie automatisch vom Dialog Manager über das Modul startup.o bzw. startup.obj aufgerufen werden. Nur wenn dieses Modul (durch ein eigenes) ersetzt wird, müssen diese Funktionen aufgerufen werden.
-
Damit kann der Dialog Manager initialisiert werden. DM_BootStrap muss die erste Funktion sein, die im Dialog Manager aufgerufen wird.
-
Mit Hilfe dieser Funktion kann die Kommandozeile eines Windows Programms in seine einzelnen Bestandteile zerlegt werden.
-
Mit Hilfe dieser Funktion kann der Dialog Manager regulär beendet werden.
2.3.9 Anbindung des Fenstersystems
Für die Anbindung der Anwendung an das Fenstersystem stehen folgende Funktionen zur Verfügung:
-
Diese Funktion gibt die fenstersystemspezifischen Daten eines Attributs zurück.
-
Mit Hilfe dieser Funktion können fenstersystemspezifische Daten eines Attributs überschrieben werden.
Siehe auch
Kapitel „Einbinden benutzerdefinierter Funktionen (Handler)“