AppEvent(): Unterschied zwischen den Versionen
Georg (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Allgemeines == Die Funktion AppEvent() entnimmt der Event-Warteschlange des aktiven Threads das nächste Ereignis (Event), zusammen mit weiteren Parametern…“) |
Georg (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 29: | Zeile 29: | ||
[[PostAppEvent()]] | [[PostAppEvent()]] | ||
[[SetAppEvent()]] | [[SetAppEvent()]] | ||
[[SetMouse()]] | |||
Zeile 36: | Zeile 37: | ||
Die Funktion AppEvent() gehört zu den grundsätzlich verfügbaren Funktionen und benötigt keine explizit benannte DLL. Enthalten ist die Funktion in XbpRT1.DLL. | Die Funktion AppEvent() gehört zu den grundsätzlich verfügbaren Funktionen und benötigt keine explizit benannte DLL. Enthalten ist die Funktion in XbpRT1.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. | |||
Version vom 7. Juni 2013, 07:39 Uhr
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
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 XbpRT1.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.
Anwendungsbeispiel
Siehe hierzu: Event-Loop