Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-01-2011, 15:17   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2009
Beiträge: 8
Beenden der Anwendung abfangen und abbrechen

Hallo,

ich möchte in meiner Anwendung das Schließen der Anwendung abgreifen.

In meiner Anwendung kann man eine kleine Datenbank bearbeiten, am Ende wird sie in eine XML-Datei gespeichert, dass funktioniert soweit problemlos.

Die meisten Programme sind derart programmiert, dass sie gegebenenfalls beim Beenden ein Dialogfeld öffnen, dort steht dann beispielsweise "Möchten Sie die Datei vor dem Beenden speichern? Ja/Nein/Abbrechen".

Wie kann ich so etwas in meine AIR-Anwendung einbauen?

Das Beenden selbst kann ich noch abfangen, dafür gibt es ein Event:
Code:
import flash.desktop.*;
import flash.events.*;
NativeApplication.nativeApplication.addEventListener(Event.EXITING, myfunction);
Aber wenn das Event ausgelöst wird, ist meine Anwendung schon so gut wie geschlossen.

Wie kann ich dann das Beenden abbrechen (oder unterbrechen), um auf den oben beschriebenen Dialog zu gehen? Gibt es vielleicht sogar ein vorgefertigte Funktion mit Dialogfeld? Dazu finde ich bislang keine hilfreichen Informationen.

Ich habe Flash CS4 / AIR 1.5 .

Vielen Dank.
meekee7 ist offline   Mit Zitat antworten
Alt 16-01-2011, 16:42   #2 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 148
hi,
schau dir mal
Code:
event.preventDefault()
und/oder diesen link
sytch ist offline   Mit Zitat antworten
Alt 16-01-2011, 22:16   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2009
Beiträge: 8
Das scheint ein bisschen schwieriger zu sein.

Folgender Code im Eventhandler zum Event führt zu einer true/true-Ausgabe beim Schließen:

Code:
import flash.desktop.*;
import flash.event.*;
NativeApplication.nativeApplication.addEventListener(Event.EXITING, closeapp); 
function closeapp(evt:Event):void{
trace(evt.cancelable);     //Gibt an, ob das Event überhaupt preventDefault verarbeitet
evt.preventDefault();
trace(evt.isDefaultPrevented());}
Aber trotzdem wird die Anwendung einfach geschlossen.

Da hat mir auch der Link und dessen Links nicht so viel geholfen.
meekee7 ist offline   Mit Zitat antworten
Alt 17-01-2011, 19:18   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2009
Beiträge: 8
Nun habe ich eine eigene Lösung gefunden, man nehme ein anderes Event:

Code:
import flash.events.*;
stage.nativeWindow.addEventListener(Event.CLOSING, thefunction);
Anmerkung für die, die das über die Suche finden: Nicht das CLOSE-Event, es wird ausgelöst nachdem das Fenster geschlossen wurde. Und das EXITING-Event ist für die gesamte Anwendung zuständig, CLOSE und CLOSING nur für das aktuelle Fenster.

Danke für die Unterstützung.

Geändert von meekee7 (17-01-2011 um 19:43 Uhr)
meekee7 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] externe SWF beenden: wie den Sound ebenfalls beenden? markusWMS Flash Einsteiger 2 28-12-2010 18:53
Schließen einer Flash Anwendung abfangen? Wassim ActionScript 3 3 26-08-2008 01:05
"Skript abbrechen"-Frage bei Beenden des Flash-Viewers? Mr.Twister Flash 8 1 20-06-2006 18:59
Flash-Anwendung BEENDEN!!! sandy_w220 Flash MX 2004 5 09-06-2005 13:45
Flash Layer, Anwendung beenden websternchen Flash MX 3 18-02-2004 11:10


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele