
Die Laufzeit von aktiven UI-Elementen unterscheidet sich von anderen UI-Elementen: Die Instanziierung eines aktiven UI-Elements am Client kann sehr zeitaufwendig sein. Beispielsweise muss bei einem FlashIsland eine Flash-Player Instanz erstellt und das Flash-File geladen und initialisiert werden. Außerdem können aktive UI-Elemente einen Client-seitigen Zustand besizen, der beim Abbau des Elementes verloren gehen kann.
Daher werden aktive UI-Elemente im Gegensatz zu anderen UI-Elementen nicht durch jede Benutzerinteraktion neu aufgebaut, sondern für eine bestimmte Zeit am Client "am Leben" gehalten.
Mit der neuen Eigenschaft lifeTime kann die Lebensdauer eines aktiven UI-Elements gesteuert werden. Damit können Anwendungsentwickler explizit den Lebenszyklus aktiver UI-Elemente während der Laufzeit und der Designzeit kontrollieren.
Die Eigenschaft lifeTime kann einen der beiden folgenden Werte annehmen:
|
Wert |
Beschreibung |
|---|---|
|
whenVisible |
Standardwert und Verhalten von Elementen ohne lifeTime Eigenschaft. Das aktive UI-Element wird initialisiert, wenn es sichtbar wird. Es wird abgebaut, wenn es nicht mehr auf dem Bildschirm sichtbar ist. Wenn es zuerst unsichtbar und dann wieder sichtbar wird, dann wird es erneut initialisiert. Wenn eine Context-Bindung zu dem aktiven UI-Element erzeugt wird, dann wird es übertragen. |
|
whenAlive |
Neues Verhalten. Das aktive UI-Element wird initialisiert, wenn es sichtbar wird. Es bleibt so lange "lebendig", bis die umgebende View oder die gesamte Web-Dynpro-Component abgebaut wird oder das aktive UI-Element kein Eltern-Element mehr besitzt. |
Beachten Sie folgende Ausnahmen:
Das aktive UI-Element wird auch dann als sichtbar behandelt, wenn es sich in einem Element befindet, das Client-seitig sichtbar bzw. unsichtbar gemacht werden kann und dieses Element wiederum sichtbar ist. Beispiele: Es befindet sich in einem Tray ohne Action am onToggle-Ereignis oder in einem TabStrip ohne Action am onSelect-Ereignis.
Die Eigenschaft lifeTime kann an ein Context-Attribut vom Typ WDUI_LIFE_TIME gebunden werden, das beispielsweise im Fall von FlashIsland die Werte CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_VISIBLE und CL_WD_FLASH_ISLAND=>E_LIFE_TIME-WHEN_ALIVE annehmen kann.
UI-Elemente
Die Eigenschaft lifeTime steht für die folgenden UI-Elemente zur Verfügung:
AbstractGenericActiveComponent und die davon erbenden UI-Elemente:
ActiveX
FlashIsland
SilverlightIsland
AbstractApplet und die davon erbenden UI-Elemente:
AcfEcecute
AcfUpDownload
AbstractActiveComponent und die davon erbenden UI-Elemente:
Gantt
Network
InteractiveForm
OfficeControl
IFrame
BIApplicationFrame
Hinweise
Die Eigenschaft lifeTime kann auch von einer Component-Konfiguration oder einem Customizing angepasst werden.
Im System finden Sie Beispiele zum Testen in den Components WDR_TEST_LIFECYCLE_AC.