Lade...
 

CX_SYSTEM_OBJECT::RegisterAttentionNotification

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
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_SYSTEM_OBJECT das SystemObject
  Top-1 INTEGER Message-Konstante
Stack(Out) Top -  
Auslösung:
Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(Out) Top STRING Text der Attention-Meldung
  Top-1 Notification-Level Level der Attention (INFO, WARN, ERROR)
Funktionsaufruf: Call(RegisterAttentionNotification)