15.10.2012 Views

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

Actionscript 3 Entwicklerhandbuch

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ACTIONSCRIPT 3.0 ENTWICKLERHANDBUCH<br />

Aufrufen und Beenden von AIR-Anwendungen<br />

public function applicationExit():void {<br />

var exitingEvent:Event = new Event(Event.EXITING, false, true);<br />

NativeApplication.nativeApplication.dispatchEvent(exitingEvent);<br />

if (!exitingEvent.isDefaultPrevented()) {<br />

NativeApplication.nativeApplication.exit();<br />

}<br />

}<br />

2 Verwenden Sie einen Listener für das Ereignis exiting des NativeApplication.nativeApplication-Objekts<br />

und schließen Sie in der Prozedur alle Fenster (lösen Sie erst ein closing-Ereignis aus). Nehmen Sie die<br />

notwendigen Bereinigungen, zum Beispiel das Speichern von Anwendungsdaten oder Löschen temporärer Dateien<br />

vor, nachdem alle Fenster geschlossen wurden. Verwenden Sie während der Bereinigung nur synchrone Methoden,<br />

um sicherzustellen, dass diese abgeschlossen wurden, bevor die Anwendung beendet wird.<br />

Wenn es gleichgültig ist, in welcher Reihenfolge die Fenster geschlossen werden, können Sie mit einer Schleife<br />

durch das Array NativeApplication.nativeApplication.openedWindows vorgehen und die Fenster<br />

nacheinander schließen. Wenn die Reihenfolge wichtig ist, stellen Sie einen Mechanismus zur Verfügung, um die<br />

Fenster in der richtigen Reihenfolge zu schließen.<br />

}<br />

private function onExiting(exitingEvent:Event):void {<br />

var winClosingEvent:Event;<br />

for each (var win:NativeWindow in NativeApplication.nativeApplication.openedWindows) {<br />

winClosingEvent = new Event(Event.CLOSING,false,true);<br />

win.dispatchEvent(winClosingEvent);<br />

if (!winClosingEvent.isDefaultPrevented()) {<br />

win.close();<br />

} else {<br />

exitingEvent.preventDefault();<br />

}<br />

}<br />

if (!exitingEvent.isDefaultPrevented()) {<br />

//perform cleanup<br />

}<br />

3 Die Fenster sollten ihre eigene Bereinigung selbst handhaben, indem sie auf ihre jeweiligen closing-Ereignisse<br />

warten.<br />

4 Verwenden Sie nur einen exiting-Listener in Ihrer Anwendung, da die zuvor aufgerufenen Prozeduren nicht<br />

wissen können, welche auf sie folgenden Prozeduren das exiting-Ereignis unterbrechen. (Auf die Reihenfolge der<br />

Ausführung sollte man sich nicht verlassen.)<br />

Letzte Aktualisierung 27.6.2012<br />

940

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!