PostAppEvent()

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen

Allgemeines

Die Funktion PostAppEvent() fügt ein neues Event in die Event-Warteschlange des aktiven Threads ein, zusammen mit weiteren Parametern, die zur Abarbeitung des Events erforderlich sind.

PostAppEvent() ermöglicht es, den Programmablauf durch programm-gewollte Events zu steuern.


Syntax

PostAppEvent(nEvent, mp1, mp2, oXbp) --> lSuccess


Parameter

<nEvent>: Event, dass in die Event-Warteschlange eingestellt werden soll.

<mp1>: optional: Message Parameter 1, seine Bedeutung ergibt sich aus dem Event <nEvent>.

<mp2>: optional: Message Parameter 2, seine Bedeutung ergibt sich aus dem Event <nEvent>

<oXbp>: optional: Dieser Parameter gibt an, in welchem Kontext das Event zu platzieren ist. Gehört das Xbase-Part zu einem anderen Thread, wird das Event in die zugeordnete Event-Warteschlange eingestellt. Auf diesem Wege kann eine Kommunikation zwischen Threads realisiert werden.


Rückgabewert

lSuccess: .T. wenn das Event in der Event-Warteschlange platziert werden konnte, andernfalls wird .F. 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