CX_SYSTEM_OBJECT::RegisterAttentionNotification
Beschreibung:
Registrierung:
Über diese Funktion kann eine Message registriert werden, welche bei einem Aufruf von Attention anstelle des Dialogfensters getriggert wird. Somit können Meldungen zur Laufzeit abgefangen werden, die sonst den Programmfluss unterbrechen würden. Um das Standardverhalten wieder herzustellen (also um die Message wieder abzumelden), wird die Funktion einfach erneut aufgerufen und NULL übergeben.
Auslösung:
Wenn die Message getriggert wird, dann wird auf dem Stack der Text der Attention-Meldung (als String) übergeben.
(ab Dll-Version: 184147): Es wird zusätzlich das Level der Attention-Notification als Notification-Level auf den Stack gelegt. Um Rückwärtskompatibilität zu gewährleisten, liegt dieser Wert unter der Message. Wird Attention kein Level-Parameter gegeben, so liegt dort immer WARN.
Vor der Verarbeitung der Attention-Message wird die gesendete Message deregistriert, das heißt: Wenn während der Verarbeitung der Attentionmessage ein weiteres Attention auftritt, so wird diese normal als Hinweis in einem Hinweis-Dialog angezeigt. Nach der Verarbeitung ist wieder die registrierte Message gültig. Auf diese Art werden ungewollte (Endlos-)schleifen vermieden. Sollen auch während der Verarbeitung weitere Attention-Aufrufe in InstantView abgefangen werden kann zu Beginn (oder jedem anderen Zeitpunkt in der Behandlungsroutine) wiederum RegisterAttentionNotification aufgerufen werden.
Code-Beispiel:
...
Msg(ATTENTION_MESSAGE)
...
(ATTENTION_MESSAGE) SystemObject Call(RegisterAttentionNotification)
...
ATTENTION_MESSAGE: // Hier kann auf Attention reagiert werden
Signaturen:
Registrierung:
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_SYSTEM_OBJECT | das SystemObject |
Top-1 | INTEGER | Message-Konstante | |
Stack(Out) | Top | - |
Auslösung:
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(Out) | Top | STRING | Text der Attention-Meldung |
Top-1 | Notification-Level | Level der Attention (INFO, WARN, ERROR) |