AppEvent()

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Version vom 31. August 2019, 14:19 Uhr von Georg (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Allgemeines

Die Funktion AppEvent() entnimmt der Event-Warteschlange des aktiven Threads das nächste Ereignis (Event), zusammen mit weiteren Parametern, die zur Abarbeitung des Events erforderlich sind.

AppEvent() ist das Herzstück eines event-orientierten Programms.


Syntax

AppEvent(@mp1, @mp2, @oXbp, nTimeOut) --> nEvent


Parameter

<mp1>: Message Parameter 1, muss by reference übergeben werden. Der Inhalt beim Aufruf ist irrelevant, da der Parameter als Platzhalter für den ersten Message Parameter des Events dient. Sein Inhalt und Feldtyp ist abhängig vom jeweiligen Event.

<mp2>: Message Parameter 2, muss by reference übergeben werden. Der Inhalt beim Aufruf ist irrelevant, da der Parameter als Platzhalter für den ersten Message Parameter des Events dient. Sein Inhalt und Feldtyp ist abhängig vom jeweiligen Event.

<oXbp>: Xbase-Part, muss by reference übergeben werden. Der Inhalt beim Aufruf ist irrelevant, da der Parameter als Platzhalter für das Xbase-Part, auf das sich das Event bezieht, dient.

<nTimeOut>: gibt in Millisekunden an, nach welcher Zeit ohne Event das Warten beendet werden soll. Greift dieser Parameter, wird xbe_None als Ergebnis von AppEvent() zurückgegeben.


Querverweise

Kategorie: Ereignisfunktionen

AppKeyState()

LastAppEvent()

NextAppEvent()

PostAppEvent()

SetAppEvent()

SetMouse()

benötigte DLLs bzw. Include-Dateien

AppEvent.ch

Die Funktion AppEvent() gehört zu den grundsätzlich verfügbaren Funktionen und benötigt keine explizit benannte DLL. Enthalten ist die Funktion in XppRT1.DLL.


Besonderheiten

VIO Anwendungen

In als reinen Text-Modus gelinkten Programmen liefert AppEvent() nur Ereignisse der xbeK_ (Tastatur) und xbeM_ (Maus) Gruppen zurück.

Damit Maus-Events empfangen werden, muss über SetMouse() die Nutzung der Maus aktiviert werden.

Für VIO Programme sind die Parameter mp1, mp2 und oXbp optional.


Hybrid Anwendungen

Hybrid-Anwendungen basieren auf einem XbpCRT()-Fenster und empfangen alle Events, wobei auch hier die Benutzung der Maus über SetMouse() aktiviert werden muss.

Solange keine Xbase-Parts Verwendung finden, sind die Parameter mp1, mp2 und oXbp optional.


Threads

Jeder Thread besitzt eine eigene Event-Queue.


Anwendungsbeispiel

Siehe hierzu: Event-Loop