Zemprosys now
English | Français | Deutsch

EINFÜHRUNG IN ZEMPROSYS
Inhaltsverzeichnis » Eventprogrammierung    

EVENTPROGRAMMIERUNG

 

Um das Ziel „Anwender zu ermöglichen, Computerprogramme ohne jegliche Codeschreibung zu entwickeln“ tatsächlich zu realisieren, spielt die Eventprogrammierung eine sehr relevante Rolle. Durch die Eventprogrammierung ist man in der Lage, die Codeschreibung zu ersetzen. Bei der Eventprogrammierung geht es hauptsächlich darum, wie eine Komponente C1 einer anderen Komponente C2 veranlassen kann, eine bestimmte Anweisung auszuführen. Man definiert das Eventkonzept dadurch, dass C1 eine Botschaft an C2 sendet. C1 ist der Sender des Events und C2 der Empfänger. Das Prinzip hier ist die Essenz der Objektorientierte Programmierung bzw. Visualprogrammierung. Zemprosys leitet von diesem Prinzip ein dynamisches Datencodierungsverfahren (VPPT), um alle logischen Operationen, die für die Implementierung von Botschaftsmechanismen bzw. Eventmachanismen nötig sind, zu ersetzen.  Um Events codieren zu können, müssen die Fähigkeiten des Empfängers (C2) bekannt sein, andernfalls ist die Umsetzung des VPPT nicht möglich. Mit Fähigkeiten wird gemeint, die Events, die vom Empfänger ausgeführt werden können.

Eventprinzip

 

Die Eventprogrammierung ist aufgrund der Parameterübergabe sehr flexible und bietet zahlreiche Anwendungsmöglichkeiten. Die Parameter eines Events lassen sich wie Komponenteneigenschaften und Methodenparameter bearbeiten.  Während Komponentenmethoden nur während Entwurfzeit im Einsatz kommen, sind Events Laufzeitsmethoden.

Wie bisher werden wir die Eventprogrammierung mit Hilfe eines Beispieles vorstellen. Allerdings ist dieses Beispiel nicht etwas ganz großes, weil der aktuelle Stand der Technologie nur in einem sehr begrenzten Umfang erlaubt, komplexe Applikationen momentan durch Eventprogrammierung entstehen zu lassen.  Das primär verfolgte Ziel hier ist zu demonstrieren, dass das Eventkonzept funktioniert und die Basisimplementierung dafür schon durchgeführt wurde.

» Aufgabebeschreibung
Ein Anwender hat herausgestellt, die Komponentenbibliotheken von Zemprosys über keine geeignete Komponente verfügen, die bestimmte Aufgaben (siehe unten) lösen kann. Daher soll mit Hilfe der Eventprogrammierung eine kleine Applikation entwickelt werden, die diese Aufgaben löst. Allgemein soll eine Bildapplikation mit folgenden Funktion entwickelt werden:

    1. Anzeige eines Bildes
    2. Anzeige zweier Bilder. Durch Vergrößerung eines Bildbereiches minimiert sich automatisch den Bereich des zweites Bildes
    3. Anzeige eines Bildes mit einem Text. Der Text wird recht vom Bild dargestellt
    4. Anzeige eines Bildes mit einem Text. Der Text wird unten vom Bild dargestellt
    5. Einsatz einer Expertenkomponente für mehr Bilderfunktionalität für Anwender
    6. Anzeige eines Bildes in verschiedenen Größen (Zoom wird manuell aktiviert)
    7. Erstellung eines Bilderliste in Verzeichnisform

» Neues Projekt und neue Zielseite öffnen
Setzen Sie die erste Seite des Projektes mit der Überschrift „Demo_Applikation“ als aktiv. Nach der erfolgreichen Aktivierung dieser Seite, wird das Projekt „Demo_Applikation“ auch aktiviert.

Wie wir im Abschnitt Wichtige Hinweise angedeutet haben, setzen wir ab dieser Dokumentsstelle mehr Akzente auf Notationen, um die Erstellungsschritte während der Eventprogrammierung zu vereinfachen.

Hier werden die nächsten Schritte zur Eventprogrammierung angezeigt


» Wie wird einen Event programmiert?

  Schritte Beschreibung
1 Identifikation des Empfängers Um einen Event zu programmieren, muss einem Empfänger des Events bekannt sein. Je nach Struktur des aktuellen Projektes oder aktuellen Seite markiert man eine Komponente, die die Verarbeitung des Events übernehmen muss. Um sicher zu sein, ob die ausgewählte Komponente eine bestimmte Aktion verarbeiten kann, muss eine Abfrage an dem Empfänger gestartet werden (siehe nächstes Level)
2 Abfrage nach Empfängerevents Nach der Identifikation des Empfängers ist der nächste Schritt bei der Programmierung die Ermittlung der Eventliste des Empfängers. Diese Liste wird über den Eventexpress bestimmt und enthält alle Eventtype, die vom Empfänger verarbeitet werden können. Die Mindestvorrausetzung für die Eventprogrammierung ist daher, dass man weiß, welche Events die Komponenten besitzen. In Zukunft wird eine technologische Funktion implementiert, um Anwendern intuitiv zu helfen, geeignete Komponenten in Verbindung mit Event-Anforderungen zu lokalisieren.
3 Registrierung des Events Wurde ein geeigneter Event für eine Aufgabe gefunden, muss dieser Event durch Registrierung in das aktuelle Projekt eingefügt werden. Die Registrierung erfolgt ebenfalls über den Eventexpress. Erst nachdem ein Event registriert wurde, kann er weiter bearbeitet werden
4 Bearbeitung von Parametern Nach der Registrierung eines Events, können Parametern bearbeitet werden, sofern dieser Event über Parameter verfügt. Die Bearbeitung von Parametern erfolgt auf die gleiche Weise wie die Eigenschaften einer Komponenten
5 Aktivierung des Events

Ein Event muss aktiviert werden, damit er während der Laufzeit ausgeführt werden kann. Bei der Aktivierung bestimmt man der Sender des Events. Der Sender repräsentiert eine Komponente, die die Ausführung des Events einleiten soll. Die Senderbestimmung, auch als Autorisationsverfahren genannt, kann auf einen der folgenden Wege realisiert werden:

(a) Direkt über die Eigenschaft <Command> einer Komponente

(b) Indirekt durch die Funktion Sender setzen des Eventexpress

(c) Indirekt über den Parameter <Command> einer Datenstruktur. Es existieren solche Komponenten, die mehrere Befehle verwalten und solche Befehle lassen sich nur über Methodenparameter bearbeiten. Diese Vorgehensweise wurde bereits oben erläutert, indem man beispielsweise die Schaltflächen der Schalterleiste mit Event verknüpft hat.

 

» Funktionen des Eventexpresses

Eventleser

 Aktualisieren

Startet eine Abfrage an der markierten Komponente, um ihre Eventliste zu ermitteln. Ist die markierte Komponente fähig, Events zu verarbeiten, wird die Liste mit den Eventnamen der Komponente aktualisiert

 Senden

Registriert den ausgewählten Event und fügt ihn ins aktuelle Projekt ein. Der aktuell ausgewählte Event ist immer in Blau-Fett dargestellt

 

Eventschreiber

 Eintrag duplizieren

Erstellt eine Kopie des aktuellen Eintrages und fügt sie in die Liste ein

 Eintrag löschen

Löscht den aktuellen Eintrag und entfernt ihn aus dem Projekt. Alle Verknüpfungen dieses Events mit Komponenten gehen dabei verloren

 Alle Einträge löschen

Löscht alle Event-Einträge und entfernt sie aus dem Projekt. Ebenfalls gehen alle realisierten Verknüpfungen mit Komponenten dabei verloren

 Weitere Funktionen

Zeigt ein Lokalmenü für weitere Funktionen an:

  1. Alle Anzeigen. Alle registrierten Events anzeigen
  2. Gleicher Empfängername. Anzeigen aller Events, die den gleichen Empfängername haben wie der ausgewählte Event.
  3. Gleiche Empfängeridentifikation. Anzeigen aller Events, die die gleiche Empfängerklasse aufweisen wie der ausgewählte Event (Events, die zur gleichen Familie gehören)
  4. Gleicher Event. Anzeigen aller Events, die die gleiche Funktionalität und den gleichen Name aufweisen wie der ausgewählte Event. Die Funktionalität hier betrifft die Software aber nicht das Projekt
  5. Ungültiger Empfänger. Anzeige aller Events, die keinen Empfänger mehr haben
  6. Unbekannter Sender. Anzeige aller Events, die mit unbekannten Sendern verknüpft sind
  7. Anweisungskette.  Anzeige aller Events, die von der markierten Komponente ausgeführt werden können
  8. Empfängerliste. Anzeige aller Events, die eine Verbindung zu der markierten Komponente als Empfänger aufweisen

 Empfänger

Zeigt und markiert den Empfänger (Komponente) des aktuellen Events. Mit Hilfe dieser Funktion ist es also möglich zu wissen, welche Komponente einen bestimmten Event verarbeiten wird. 

 Sender setzen

Verknüpft den aktuellen Event mit der markierten Komponente, sodass diese Komponente die Verarbeitung des Events einleiten kann. Diese Funktion setzt daher den Sender eines Events

 Senderliste

Zeigt die Liste aller Komponenten, die den aktuellen Event senden können, an

 Gültigkeitsprüfung

Startet einen Gültigkeitsprüfungsprozess für alle Events, die mit der markierten Komponenten verknüpft sind. Alle ungültige Events können somit gelöscht werden

 Befehseditor

Leitet die Bearbeitung der Eigenschaft <Command> der markierten Komponente ein

 

SCHRITTE DES TUTORIALS
19
20

 

 


Zemprosys Logo
© 2008 Zemprosys Group
The power of innovation

www.zemprosys.com