4D v14

Ereignisse

Home

 
4D v14
Ereignisse

Ereignisse    


 

 

Zusätzlich zu den Erläuterungen im Video sollten Sie folgendes beachten:

Nicht alle Objekte haben dieselben Ereignisse. So können Sie für eine Schaltfläche nicht das Ereignis "On Data Change" markieren, da Sie keinen Inhalt  "eingeben" können.

Hier ein paar Beispiele:

  • On Mouse Enter
    Wenn die Maus in den "Luftraum" der Schaltfläche eindringt.
  • On Data Change
    Beim Verlassen eines Feldes oder einer Variablen, wenn sich der Inhalt geändert hat.
    Dient hauptsächlich zum Prüfen bei Eingabe, Formatierung (Groß- und Kleinschreibung), Suchen, erneuten Berechnungen.
  • On Clicked
    Wenn auf ein Objekt geklickt wird, in der Regel Schaltflächen, PopUps, Menüs, etc.
    Lässt sich auch auf eingebbare Objekte anwenden.
  • On Getting Focus
    Wenn das Objekt gerade Fokus erhalten hat (von On Clicked, über Tabulator oder per Programmierung).
  • On Load
    Unmittelbar bevor ein Formular auf dem Bildschirm angezeigt oder gedruckt wird.
    Während diesem Ereignis wird in der Regel eine Initialisierung ausgeführt.
  • On Printing Detail
    Während Drucken von Datensätzen.
    Ermöglicht z.B. einen Wert für die Variablen Gesamtsumme, Verkettung.

Diese Liste zeigt nur eine Auswahl. Die komplette Beschreibung der Ereignisse finden Sie im Handbuch 4D Programmiersprache im Kapitel Formularereignisse.

Es gibt ein wichtiges Detail, wo nach neue Benutzer immer fragen: Muss ich Formularereignisse oder Objektereignisse markieren? Die Antwort ist einfach: Das hängt davon ab, wie Sie Ihre Methoden erstellen.
Die Formularmethode sollte theoretisch nur enthalten, was zum Bearbeiten des gesamten Formulars relevant ist:

  • Größe verändern
  • Aufruf nach Außen
  • Objekte anzeigen/ausblenden
  • etc.

Demgegenüber sollten Objektmethoden nur das enthalten, was für das Objekt selbst spezifisch ist (Schaltfläche, Feld, etc.). Das ist die allgemeine Regel und Sie sollten mehrere gute Gründe haben, bevor Sie sie brechen.

Hier die wichtigsten Unterschiede:

  • Formularmethode: Zentralisiert, globale Bearbeitung, leicht zu pflegen.
    Risiko, dass sie öfters als benötigt ausgeführt wird.
  • Objektmethode: Spezifisch, angepasst, wird nur bei Bedarf ausgeführt.
    Ermöglicht leicht, ein Objekt per Copy-Paste zu übertragen, insbesondere bei Zeigern.
    Die Methode, die die Methode aufruft, muss in jedem Objekt dupliziert werden.

Es gibt auch Fälle, wo wir bestimmte Prozesse in die Formularmethode legen.

Sie müssen z.B. einen Wert neu berechnen, der von 10 eingebbaren Parametern abhängt. Für jeden geänderten Parameter müssen Sie die Berechnung erneut ausführen. Anstatt die Formel oder den Methodenaufruf in jedes der 10 Felder mit Parameter zu setzen, können Sie diese Berechnung in eine Formularmethode setzen.

Das vereinfacht und zentralisiert den Vorgang; die Berechnung wird aber höchstwahrscheinlich öfters als notwendig ausgeführt - insbesondere beim Ändern eines Bereichs, der nicht in der Endberechnung vorkommt. (Tipp: 4D lässt Sie wissen, welches Objekt geändert wurde, so dass wir die Berechnung entsprechend anpassen können).

Auch die Reihenfolge, in der die Ereignisse ausgeführt werden, ist wichtig. Für eine Schaltfläche gilt z.B. folgendes:

  • On Mouse Enter
  • On Mouse Move
  • On Getting Focus
  • On Clicked (falls vorhanden)
  • On Mouse Leave
  • On Losing Focus

Bei einem angeklickten Feld bzw. einer Variablen:

  • On Mouse Enter
  • On Mouse Move
  • On Getting Focus
  • On Data Change (falls vorhanden)
  • On Losing Focus
  • On Mouse Leave

Um Zeit beim Schreiben Ihres Code zu sparen und ihn zuverlässiger zu machen, können Sie Makros setzen (Datei “macros.xml”).

Sie können z.B. ein Makro anlegen, das folgenden Code schreibt, immer wenn Sie “#$evt” in Ihrer Methode tippen:

 $evt:=Form event
 Case of
    :($evt=On Clicked)
 
    :($evt=On Load)
 
 End case

Weiter vertiefen:
Studieren Sie genau, wie Ereignisse arbeiten, denn das hilft zu verstehen, wann Sie Ihre Programmierung ausführen sollen. Sie bekommen auch ein Gefühl für leistungsstarke Schritte durch Ereignisse wie:

  • On Drag Over
  • On Drop
  • On Selection Change
  • plus die drei Mausereignisse (Move, Leave, Enter)

sowie gängige Standardereignisse:

  • On Clicked
  • On Double Clicked
  • On Long Click
  • etc.

 
 

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Ereignisse

 
ARTIKELVERWENDUNG

Self-Training ( 4D v13)
Self-Training ( 4D v14)