flash.desktopNativeProcess Die NativeProcess-Klasse bietet Befehlszeilenintegration und allgemeine Startfähigkeiten.flash.events:EventDispatcher Die NativeProcess-Klasse bietet Befehlszeilenintegration und allgemeine Startfähigkeiten. Mithilfe der NativeProcess-Klasse kann eine AIR-Anwendung native Prozesse auf dem Host-Betriebssystem ausführen. Die AIR-Anwendung kann die Standardeingabestreams (stdin) und die Standardausgabestreams (stdout) des Prozesses sowie den Standardfehlerstream (stderr) des Prozesses überwachen.

Die NativeProcess-Klasse und ihre Fähigkeiten stehen nur AIR-Anwendungen zur Verfügung, die mit einem nativen Installationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“). Beim Debugging können Sie das -profile extendedDesktop-Argument an ADL übergeben, um die NativeProcess-Funktionalität zu aktivieren. Zur Laufzeit können Sie die NativeProcess.isSupported-Eigenschaft überprüfen, um festzustellen, ob die native Prozesskommunikation unterstützt wird.

Unterstützung von AIR-Profilen: Diese Funktion wird von Anwendungen unterstützt, die über native Installer unter Desktopbetriebssystemen bereitgestellt werden. Die Funktion wird nicht auf mobilen Geräten oder Geräten mit AIR für TV unterstützt. Mit der NativeProcess.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

AIR-Anwendungen, die mit einem nativen Installationsprogramm installiert wurden (Anwendungen mit dem Profil „erweiterter Desktop“) können eine Anwendung auch mit File.openWithDefaultApplication öffnen. Die NativeProcess-Klasse ermöglicht jedoch den direkten Zugriff auf die Standardeingabe-, Standardausgabe und Standardfehler-Pipes.

Hinweis: AIR-für-TV-Anwendungen, die das extendedTV-Profil verwenden, können native ActionScript-Erweiterungen verwenden, um native Prozesse auszuführen.

Im folgenden Beispiel wird überprüft, ob die native Prozesskommunikation auf dem Computer unterstützt wird. Ist dies der Fall, richtet die Anwendung Ereignis-Listener für den nativen Prozess ein und startet die Datei „test.py“ im Hauptanwendungsverzeichnis. : package { import flash.display.Sprite; import flash.desktop.NativeProcess; import flash.desktop.NativeProcessStartupInfo; import flash.events.Event; import flash.events.ProgressEvent; import flash.events.IOErrorEvent; import flash.events.NativeProcessExitEvent; import flash.filesystem.File; public class NativeProcessExample extends Sprite { public var process:NativeProcess; public function NativeProcessExample() { if(NativeProcess.isSupported) { setupAndLaunch(); } else { trace("NativeProcess not supported."); } } public function setupAndLaunch():void { var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); var file:File = File.applicationDirectory.resolvePath("test.py"); nativeProcessStartupInfo.executable = file; var processArgs:Vector.<String> = new Vector.<String>(); processArgs[0] = "foo"; nativeProcessStartupInfo.arguments = processArgs; process = new NativeProcess(); process.start(nativeProcessStartupInfo); process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData); process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData); process.addEventListener(NativeProcessExitEvent.EXIT, onExit); process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError); process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError); } public function onOutputData(event:ProgressEvent):void { trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable)); } public function onErrorData(event:ProgressEvent):void { trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable)); } public function onExit(event:NativeProcessExitEvent):void { trace("Process exited with ", event.exitCode); } public function onIOError(event:IOErrorEvent):void { trace(event.toString()); } } } Fügen Sie das folgende Python-Skript zur Datei „test.py“ in Ihrem Anwendungsverzeichnis hinzu (und stellen Sie sicher, dass Python installiert ist):
 #!/usr/bin/python
 # ------------------------------------------------------------------------------
 # Sample Python script
 # ------------------------------------------------------------------------------
 
 import sys
 
 for word in sys.argv: #echo the command line arguments
     print word
 
 print "HI FROM PYTHON"
 print "Enter user name" 
 line = sys.stdin.readline()
 
 sys.stdout.write("hello," + line)
flash.external.ExtensionContextexit Gibt an, dass der native Prozess beendet wurde.flash.events.NativeProcessExitEventflash.events.NativeProcessExitEvent Gibt an, dass der native Prozess beendet wurde. Die exitCode-Eigenschaft enthält den Wert, den der Prozess beim Beenden an das Host-Betriebssystem zurückgibt. Wenn die AIR-Anwendung den Prozess durch einen Aufruf der exit()-Methode des NativeProcess-Objekts beendet, wird die exitCode-Eigenschaft auf NaN (not a number, keine Zahl) gesetzt. standardInputIoError Gibt an, dass nicht in den Standardeingabestream (stdin) geschrieben werden konnte.flash.events.IOErrorEventflash.events.IOErrorEvent Gibt an, dass nicht in den Standardeingabestream (stdin) geschrieben werden konnte. Das NativeProcess-Objekt setzt dieses Ereignis ab, wenn die closeInput()-Methode fehlschlägt oder wenn die Laufzeitumgebung keine Daten in die Standardeingabe-Pipe des nativen Prozesses schreiben kann. standardOutputIoError Gibt an, dass nicht vom stdout-Stream gelesen werden konnte.flash.events.IOErrorEventflash.events.IOErrorEvent Gibt an, dass nicht vom stdout-Stream gelesen werden konnte. Das NativeProcess-Objekt kann dieses Ereignis absetzen, wenn die Laufzeitumgebung keine Daten aus der Standardausgabepipe des nativen Prozesses lesen kann. standardErrorIoError Gibt an, das nicht vom Standardfehlerstream (stderror) gelesen werden konnte.flash.events.IOErrorEventflash.events.IOErrorEvent Gibt an, das nicht vom Standardfehlerstream (stderror) gelesen werden konnte. Das NativeProcess-Objekt kann dieses Ereignis absetzen, wenn die Laufzeitumgebung keine Daten aus der Standardfehlergabepipe des nativen Prozesses lesen kann. standardInputClose Gibt an, dass das NativeProcess-Objekt seinen Eingabestream durch einen Aufruf der closeInput()-Methode geschlossen hat.flash.events.Eventflash.events.Event Gibt an, dass das NativeProcess-Objekt seinen Eingabestream durch einen Aufruf der closeInput()-Methode geschlossen hat. Das NativeProcess-Objekt setzt dieses Ereignis nicht ab, wenn der native Prozess selbst den Eingabestream schließt. standardInputProgress Gibt an, dass NativeProcess Daten für den untergeordneten Prozess geschrieben hat.flash.events.ProgressEventflash.events.ProgressEvent Gibt an, dass NativeProcess Daten für den untergeordneten Prozess geschrieben hat. Das NativeProcess-Objekt setzt dieses Ereignis ab, wenn Daten in den Stream geschrieben werden. Dieses Ereignis gibt nicht an, ob der untergeordnete Prozess Daten gelesen hat oder nicht. standardErrorClose Gibt an, dass NativeProcess seinen Fehlerstream geschlossen hat.flash.events.Eventflash.events.Event Gibt an, dass NativeProcess seinen Fehlerstream geschlossen hat. standardErrorData Gibt an, dass der native Prozess Daten zur Verfügung hat, die vom Standardfehlerstream (stderror) gelesen werden können.flash.events.ProgressEventflash.events.ProgressEvent Gibt an, dass der native Prozess Daten zur Verfügung hat, die vom Standardfehlerstream (stderror) gelesen werden können. Das NativeProcess-Objekt setzt dieses Ereignis ab, wenn der untergeordnete Prozess seinen Standardfehlerstream löscht oder wenn der interne Puffer für die Kommunikation zwischen Prozessen voll ist. Schreiben Sie keinen Code, der von der Größe dieses internen Puffers abhängig ist; sie variiert je nach Version und Betriebssystem. standardOutputClose Gibt an, dass NativeProcess seinen Ausgabestream geschlossen hat.flash.events.Eventflash.events.Event Gibt an, dass NativeProcess seinen Ausgabestream geschlossen hat. standardOutputData Gibt an, dass der native Prozess Daten zur Verfügung hat, die vom Ausgabestream gelesen werden können.flash.events.ProgressEventflash.events.ProgressEvent Gibt an, dass der native Prozess Daten zur Verfügung hat, die vom Ausgabestream gelesen werden können. Das NativeProcess-Objekt setzt dieses Ereignis ab, wenn der untergeordnete Prozess seinen stdout-Stream löscht oder wenn der interne Puffer für die Kommunikation zwischen Prozessen voll ist. Schreiben Sie keinen Code, der von der Größe dieses internen Puffers abhängig ist; sie variiert je nach Version und Betriebssystem. NativeProcess Konstruiert ein nicht initialisiertes NativeProcess-Objekt. Konstruiert ein nicht initialisiertes NativeProcess-Objekt. Rufen Sie die start()-Methode auf, um den Prozess zu starten. start()closeInput Schließt den Eingabestream für diesen Prozess. Schließt den Eingabestream für diesen Prozess. Einige Befehlzeilenanwendungen warten, bis der Eingabestream geschlossen ist, bevor bestimmte Vorgänge gestartet werden. Nachdem der Stream geschlossen wurde, kann er erst dann wieder geöffnet werden, wenn der Prozess beendet und erneut gestartet wurde. ioErrorStandardInputflash.events:IOErrorEventEs gibt ein Problem beim Schließen des Eingabestreams für den Prozess. Es gibt ein Problem beim Schließen des Eingabestreams für den Prozess. standardInputCloseflash.events:EventDer Eingabestream wurde geschlossen. Der Eingabestream wurde geschlossen.exit Versucht den nativen Prozess zu beenden.forceBooleanfalseOb die Anwendung versuchen soll, das Beenden des nativen Prozesses ggf. zu erzwingen.

Wenn der force-Parameter auf false gesetzt ist, versucht diese Methode, den nativen Prozess ohne Fehler zu beenden. Diese Methode „bittet“ den nativen Prozess, sich zu schließen. Diese Anforderung kann vom nativen Prozess ignoriert werden, weshalb diese Methode keine Garantie darstellt, dass der native Prozess tatsächlich beendet wird. Das NativeProcess-Objekt setzt nur dann ein NativeProcessExitEvent-Ereignis ab, wenn der native Prozess beendet wird.

Wenn der force-Parameter auf true gesetzt ist, versucht diese Methode, das Beenden des nativen Prozesses zu erzwingen. Der Aufruf dieser Methode, wenn der force-Parameter den Wert true hat, sollte nur als letzter Ausweg verwendet werden. Der Aufruf dieser Methode, während der force-Parameter auf true gesetzt ist, kann sich nachteilig auf den Zustand der Systemressourcen, die mit dem nativen Prozess verknüpft sind, auswirken. Geöffnete Dateien weisen zum Beispiel unter Umständen einen inkonsistenten Zustand auf. Die Laufzeitumgebung versucht, das Beenden des nativen Prozesses zu erzwingen. Es kann jedoch nicht garantiert werden, dass der native Prozess tatsächlich beendet wird. Das NativeProcess-Objekt setzt nur dann ein NativeProcessExitEvent-Ereignis ab, wenn der native Prozess beendet wird.

Falls NativeProcess erfolgreich beendet wird, wird ein NativeProcessExitEvent-Ereignis abgesetzt.

Versucht den nativen Prozess zu beenden.
start Startet den nativen Prozess, der durch die angegebene Start-Info identifiziert wird.wenn NativeProcess zurzeit ausgeführt wird. IllegalOperationErrorflash.errors:IllegalOperationErrorwenn die nativePath-Eigenschaft von NativeProcessStartupInfo nicht vorhanden ist. ArgumentErrorArgumentErrorwenn NativeProcess nicht erfolgreich gestartet wurde. ErrorErrorinfoflash.desktop:NativeProcessStartupInfoNativeProcessStartupInfo Definiert Informationen darüber, wie der native Prozess gestartet werden soll. Startet den nativen Prozess, der durch die angegebene Start-Info identifiziert wird. Nachdem der Prozess gestartet wurde, werden alle Eingabe- und Ausgabestreams geöffnet. Diese Methode liefert sofort eine Rückgabe, nachdem die Anforderung, den angegebenen Prozess zu starten, an das Betriebssystem erfolgt ist. Das NativeProcess-Objekt gibt eine IllegalOperationError-Ausnahme aus, wenn der Prozess zurzeit ausgeführt wird. Der Prozess wird ausgeführt, wenn die running-Eigenschaft des NativeProcess-Objekts den Wert true zurückgibt. Wenn das Betriebssystem den Prozess nicht starten kann, wird ein Error ausgegeben.

Eine NativeProcess-Instanz entspricht einem einzelnen Prozess auf dem zugrundeliegenden Betriebssystem. Wenn Sie mehrere Instanzen desselben Betriebssystemprozesses gleichzeitig ausführen möchten, können Sie für jeden untergeordneten Prozess eine NativeProcess-Instanz erstellen.

Sie können diese Methode aufrufen, wenn die running-Eigenschaft des NativeProcess-Objekts den Wert false zurückgibt. Dies bedeutet, dass das NativeProcess-Objekt wiederverwendet werden kann. Anders ausgedrückt, Sie können eine NativeProcess-Instanz konstruieren, die start()-Methode aufrufen, auf das exit-Ereignis warten und dann erneut die start()-Methode aufrufen. Sie können im nachfolgenden Aufruf der start()-Methode ein anderes NativeProcessStartupInfo-Objekt verwenden als mit dem info-Parameter festgelegt.

Die NativeProcess-Klasse und ihre Fähigkeiten stehen nur AIR-Anwendungen zur Verfügung, die mit einem nativen Installationsprogramm installiert wurden. Beim Debugging können Sie das -profile extendedDesktop-Argument an ADL übergeben, um die NativeProcess-Funktionalität zu aktivieren. Überprüfen Sie die NativeProcess.isSupported-Eigenschaft, um festzustellen, ob die native Prozesskommunikation unterstützt wird.

Wichtige Sicherheitsüberlegungen:

Die API für native Prozesse kann jede ausführbare Datei auf dem System des Benutzers ausführen. Seien Sie beim Konstruieren und Ausführen von Befehlen äußerst vorsichtig. Wenn ein Teil eines auszuführenden Befehls aus einer externen Quelle stammt, prüfen Sie sorgfältig, ob die Ausführung des Befehls sicher ist. Gleichermaßen sollte Ihre AIR-Anwendung Daten validieren, die an einen laufenden Prozess übergeben werden.

Die Validierung von Eingaben kann jedoch schwierig sein. Um diese Probleme zu vermeiden, schreiben Sie am besten eine native Anwendung (zum Beispiel eine EXE-Datei für Windows) mit spezifischen APIs. Diese APIs sollten nur diejenigen Befehle verarbeiten, die speziell für die AIR-Anwendung erforderlich sind. Zum Beispiel könnte die native Anwendung nur einen begrenzten Satz von Anweisungen über den Standardeingabestream akzeptieren.

AIR unter Windows lässt die direkte Ausführung von .bat-Dateien nicht zu. Windows-.bat-Dateien werden vom Befehlszeileninterpreter (cmd.exe) ausgeführt. Wenn Sie eine .bat-Datei aufrufen, kann diese Befehlsanwendung Argumente, die an den Befehl übergeben werden, als zusätzlich zu startende Anwendungen interpretieren. Durch das böswillige Einfügen von zusätzlichen Zeichen in den Argumentstring könnte cmd.exe eine schädliche oder unsichere Anwendung ausführen. Ohne eine gute Datenvalidierung könnte Ihre Anwendung zum Beispiel myBat.bat myArguments c:/evil.exe aufrufen. Die Befehlsanwendung würde die Anwendung „evil.exe“ zusätzlich zu Ihrer Batchdatei ausführen.

Wenn Sie die start()-Methode mit einer .bat-Datei aufrufen, gibt das NativeProcess-Objekt eine Ausnahme aus. Die message-Eigenschaft des Error-Objekts enthält den String "Fehler #3219: NativeProcess konnte nicht gestartet werden."

NativeProcessStartupInfo
isSupported Gibt an, ob laufende native Prozesse im aktuellen Profil unterstützt werden.Boolean Gibt an, ob laufende native Prozesse im aktuellen Profil unterstützt werden. Diese Eigenschaft gibt nur dann true zurück, wenn die Ausführung im extendedDesktop-Profil erfolgt. Außerdem ist NativeProcess.isSupported immer false bei Anwendungen, die als AIR-Datei installiert werden. Sie müssen eine AIR-Anwendung mit dem ADT-Flag -target native komprimieren, um die NativeProcess-Klasse zu verwenden. running Gibt an, ob dieser native Prozess zurzeit ausgeführt wird.Boolean Gibt an, ob dieser native Prozess zurzeit ausgeführt wird. Der Prozess wird ausgeführt, wenn Sie die start()-Methode aufgerufen haben und das NativeProcess-Objekt noch kein exit-Ereignis abgesetzt hat. Eine NativeProcess-Instanz entspricht einem einzelnen Prozess auf dem zugrundeliegenden Betriebssystem. Diese Eigenschaft behält den Wert true, solange der Prozess des zugrundeliegenden Betriebssystems ausgeführt wird (während der native Prozess gestartet wird und bis der Prozess einen Beenden-Code an das Betriebssystem zurückgibt.) standardError Ermöglicht den Zugriff auf die Standardfehlerausgabe von diesem nativen Prozess.flash.utils:IDataInputwenn keine Daten vorhanden sind und ein Lesevorgang versucht wird. EOFErrorflash.errors:EOFError Ermöglicht den Zugriff auf die Standardfehlerausgabe von diesem nativen Prozess. Wenn Daten in dieser Pipe verfügbar werden, setzt das NativeProcess-Objekt ein ProgressEvent-Objekt ab. Wenn Sie versuchen, Daten aus diesem Stream zu lesen, wenn dort keine vorhanden sind, gibt das NativeProcess-Objekt eine EOFError-Ausnahme aus.

Der Typ ist IDataInput, da aus der Perspektive des aktuellen Prozesses Daten eingegeben werden, obwohl es sich um einen Ausgabestream des untergeordneten Prozesses handelt.

flash.events.ProgressEventflash.utils.IDataInput
standardInput Ermöglicht den Zugriff auf die Standardeingabe dieses nativen Prozesses.flash.utils:IDataOutputbeim Schreiben in diesen Wert, wenn running den Wert false zurückgibt oder wenn versucht wird, Daten in einen geschlossenen Eingabestream zu schreiben. IllegalOperationErrorflash.errors:IllegalOperationError Ermöglicht den Zugriff auf die Standardeingabe dieses nativen Prozesses. Verwenden Sie diese Pipe, um Daten an diesen Prozess zu senden. Jedes Mal, wenn Daten in die input-Eigenschaft geschrieben werden, werden diese Daten in die Eingabe-Pipe des nativen Prozesses geschrieben, sobald dies möglich ist.

Der Typ ist IDataOutput, da aus der Perspektive des aktuellen Prozesses Daten ausgegeben werden, obwohl es sich um einen Eingabestream des untergeordneten Prozesses handelt.

closeInput()IDataOutput
standardOutput Ermöglicht den Zugriff auf die Standardausgabe-Pipe dieses nativen Prozesses.flash.utils:IDataInputwenn keine Daten vorhanden sind und ein Lesevorgang versucht wird. EOFErrorflash.errors:EOFError Ermöglicht den Zugriff auf die Standardausgabe-Pipe dieses nativen Prozesses. Verwenden Sie diese Pipe, um Daten aus der Standardausgabe des nativen Prozesses zu lesen. Wenn in dieser Pipe Daten vorhanden sind, setzt das NativeProcess-Objekt ein ProgressEvent ab. Wenn Sie versuchen, Daten aus diesem Stream zu lesen, wenn dort keine vorhanden sind, gibt das NativeProcess-Objekt einen EOFError aus.

Der Typ ist IDataInput, da aus der Perspektive des aktuellen Prozesses Daten eingegeben werden, obwohl es sich um einen Ausgabestream des untergeordneten Prozesses handelt.

flash.utils.IDataInputflash.events.ProgressEvent
InteractiveIcon Die InteractiveIcon-Klasse ist die Basisklasse für die Betriebssystemsymbole der Anwendungen.flash.desktop:Icon Die InteractiveIcon-Klasse ist die Basisklasse für die Betriebssystemsymbole der Anwendungen.

Verwenden Sie die icon-Eigenschaft des NativeApplication-Objekts, um eine Instanz des Anwendungssymbols zu erhalten. Der Symboltyp ist eine der Unterklassen von InteractiveIcon: entweder DockIcon unter Mac OS X® oder SystemTrayIcon unter Windows® und Linux.

Die InteractiveIcon-Klasse lässt sich nicht direkt instanziieren. Aufrufe des new InteractiveIcon()-Konstruktors führen zu einer ArgumentError-Ausnahme.

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.NativeApplication.supportsSystemTrayIconbitmaps Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.Array Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.

Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)

In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der bitmaps-Eigenschaft keine Eingabe zugewiesen wurde. In anderen Kontexten wird kein Symbol angezeigt.

Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der bitmaps-Eigenschaft ein Array mit bitmapData-Objekten zu:

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

Das direkte Ändern des bitmaps-Array hat keine Auswirkungen.

Um das Symbolbild zu löschen, weisen Sie der bitmaps-Eigenschaft ein leeres Array zu.

Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.

height Die aktuelle Anzeigehöhe des Symbols in Pixel.int Die aktuelle Anzeigehöhe des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die height-Eigenschaft gibt die Höhe des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigehöhe kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

width Die aktuelle Anzeigebreite des Symbols in Pixel.int Die aktuelle Anzeigebreite des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die width-Eigenschaft gibt die Breite des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigebreite kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

InvokeEventReason Die InvokeEventReason-Klasse zählt Werte auf, die von der reason-Eigenschaft eines InvokeEvent-Objekts zurückgegeben werden.Definiert Konstanten, die darstellen, auf welche Art eine Anwendung über das Betriebssystem aufgerufen werden kann. Object Die InvokeEventReason-Klasse zählt Werte auf, die von der reason-Eigenschaft eines InvokeEvent-Objekts zurückgegeben werden. flash.events.InvokeEvent.reasonLOGIN Zeigt an, dass das InvokeEvent-Ereignis durch das Anmelden des Benutzers ausgelöst wurde.loginString Zeigt an, dass das InvokeEvent-Ereignis durch das Anmelden des Benutzers ausgelöst wurde. STANDARD Zeigt an, dass das InvokeEvent-Ereignis aus einem anderen Grund als dem Anmelden des Benutzers ausgelöst wurde.standardString Zeigt an, dass das InvokeEvent-Ereignis aus einem anderen Grund als dem Anmelden des Benutzers ausgelöst wurde. NativeDragActions Die NativeDragActions-Klasse definiert Stringkonstanten für die Namen der Ziehen-und-Ablegen-Aktionen.Object Die NativeDragActions-Klasse definiert Stringkonstanten für die Namen der Ziehen-und-Ablegen-Aktionen.

Die NativeDragActions-Konstanten werden als Werte für die dropAction-Eigenschaft der NativeDragManager- und NativeDragEvent-Klasse verwendet.

flash.desktop.NativeDragManagerflash.events.NativeDragEventCOPY Definiert den String, der für die Kopieren-Aktion verwendet werden soll.copyString Definiert den String, der für die Kopieren-Aktion verwendet werden soll. LINK Definiert den String, der für die Verknüpfen-Aktion verwendet werden soll.linkString Definiert den String, der für die Verknüpfen-Aktion verwendet werden soll. MOVE Definiert den String, der für die Verschieben-Aktion verwendet werden soll.moveString Definiert den String, der für die Verschieben-Aktion verwendet werden soll. NONE Definiert den String, der verwendet wird, wenn keine Aktion angegeben wurde.noneString Definiert den String, der verwendet wird, wenn keine Aktion angegeben wurde.

In einem nativeDragComplete-Ereignis zeigt die Aktion none an, dass der Ziehen-und-Ablegen-Vorgang vom Benutzer abgebrochen wurde.

ClipboardFormats Die ClipboardFormats-Klasse definiert Konstanten für die Namen der Standarddatenformate, die mit der Clipboard-Klasse verwendet werden.Object Die ClipboardFormats-Klasse definiert Konstanten für die Namen der Standarddatenformate, die mit der Clipboard-Klasse verwendet werden. TEXT_FORMAT, RICH_TEXT_FORMAT und HTML_FORMAT wird nur von Flash Player 10 unterstützt. flash.desktop.ClipboardBITMAP_FORMAT Bilddaten (nur AIR).air:bitmapString Bilddaten (nur AIR). FILE_LIST_FORMAT Ein Dateiarray (nur AIR).air:file listString Ein Dateiarray (nur AIR). FILE_PROMISE_LIST_FORMAT Dateizusageliste (nur AIR).air:file promise listString Dateizusageliste (nur AIR). HTML_FORMAT HTML-Daten.air:htmlString HTML-Daten. RICH_TEXT_FORMAT Rich Text Format-Daten.air:rtfString Rich Text Format-Daten. TEXT_FORMAT Stringdaten.air:textString Stringdaten. URL_FORMAT Ein URL-String (nur AIR).air:urlString Ein URL-String (nur AIR). NativeApplication Die NativeApplication-Klasse stellt diese AIR-Anwendung dar.flash.events:EventDispatcher Die NativeApplication-Klasse stellt diese AIR-Anwendung dar.

Die NativeApplication-Klasse bietet Informationen zur Anwendung sowie anwendungsumfassende Funktionen und löst Ereignisse auf Anwendungsebene aus.

Das NativeApplication-Objekt ist ein Singleton-Objekt, das beim Programmstart automatisch erstellt wird. Sie rufen die NativeApplication-Instanz einer Anwendung mit der statischen Eigenschaft NativeApplication.nativeApplication ab.

keyUp Wird ausgelöst, wenn der Benutzer eine Taste loslässt.flash.events.KeyboardEvent.KEY_UPflash.events.KeyboardEvent Wird ausgelöst, wenn der Benutzer eine Taste loslässt. Die NativeApplication-Instanz stellt dieses Ereignis bereit, um Tasturkurzbefehle zu unterstützen. Dieses Tastaturereignis wird zuerst an die NativeApplication abgesetzt. Das Abbrechen dieses Ereignisses hat keine Auswirkungen auf andere Objekte (zum Beispiel NativeWindow-Menükurzbefehle). Dieses Ereignis tritt nach einem keyDown-Ereignis auf. flash.display.InteractiveObject.keyUpkeyDown Wird ausgelöst, wenn der Benutzer eine Taste drückt.flash.events.KeyboardEvent.KEY_DOWNflash.events.KeyboardEvent Wird ausgelöst, wenn der Benutzer eine Taste drückt. Die NativeApplication-Instanz stellt dieses Ereignis bereit, um Tasturkurzbefehle zu unterstützen. Dieses Tastaturereignis wird zuerst an die NativeApplication abgesetzt. Beim Abbrechen dieses Ereignisses werden auch NativeWindow-Menükurzbefehle abgebrochen. Dieses Ereignis tritt vor dem keyUp-Ereignis ein. flash.display.InteractiveObject.keyDownuserPresent Wird ausgelöst, wenn das Betriebssystem nach einer Inaktivitätsphase Maus- oder Tastaturaktivität erkennt.flash.events.Event.USER_PRESENTflash.events.Event Wird ausgelöst, wenn das Betriebssystem nach einer Inaktivitätsphase Maus- oder Tastaturaktivität erkennt.

Hinweis: Dieses Ereignis wird auf mobilen Geräten oder auf Geräten mit AIR für TV nicht abgesetzt.

Wie lang die Inaktivitätsphase dazu sein muss, kann mit der idleThreshold-Eigenschaft festgelegt werden. Die bisherige Dauer der Inaktivitätsphase kann anhand der timeSinceLastUserInput-Eigenschaft festgestellt werden.

idleThresholdtimeSinceLastUserInput
userIdle Wird bei Inaktivität des Benutzers abgesetzt.flash.events.Event.USER_IDLEflash.events.Event Wird bei Inaktivität des Benutzers abgesetzt.

Geben Sie mithilfe der idleThreshold-Eigenschaft an, wie lange ein Benutzer inaktiv sein muss, bevor dieses Ereignis abgesetzt wird. Die bisherige Dauer der Inaktivitätsphase kann anhand der timeSinceLastUserInput-Eigenschaft festgestellt werden.

Hinweis: Dieses Ereignis wird auf mobilen Geräten oder auf Geräten mit AIR für TV nicht abgesetzt.

idleThresholdtimeSinceLastUserInput
networkChange Wird ausgelöst, wenn eine neue Netzwerkverbindung verfügbar wird oder wenn eine vorhandene Netzwerkverbindung unterbrochen wird.flash.events.Event.NETWORK_CHANGEflash.events.Event Wird ausgelöst, wenn eine neue Netzwerkverbindung verfügbar wird oder wenn eine vorhandene Netzwerkverbindung unterbrochen wird.

Ein networkChange-Ereignis bedeutet nicht unbedingt, dass der Hostcomputer online oder offline gebracht wurde. Möglicherweise erfolgt nur ein Übergang von einem Verbindungstyp zu einem anderen. Anwendungen können mit diesem Ereignis dazu beitragen, die Überwachung der Verfügbarkeit von Remoteressourcen zu optimieren. Wenn ein networkChange-Ereignis ausgelöst wird, ist die ein guter Zeitpunkt, um die Verfügbarkeit von Remoteressourcen zu überprüfen.

Hinweise:

  • Zwischen dem Auftreten einer Netzwerkänderung und diesem Ereignis kann es eine kurze Verzögerung geben.
  • Unter Android kann das NativeApplication-Objekt mehrere networkChange-Ereignisse für jede Änderung bei einer Netzwerkverbindung absetzen.
exiting Wird ausgelöst, wenn die Beenden-Sequenz der Anwendung eingeleitet wurde.flash.events.Event.EXITINGflash.events.Event Wird ausgelöst, wenn die Beenden-Sequenz der Anwendung eingeleitet wurde.

Das exiting-Ereignis wird ausgelöst, wenn das Beenden der Anwendung vom Betriebssystem eingeleitet wurde, zum Beispiel, wenn der Benutzer unter Mac OS X die Tastenkombination Cmd-Q verwendet oder wenn die autoExit-Eigenschaft des NativeApplication-Objekts true ist und das letzte Anwendungsfenster geschlossen wird. Beim Abbrechen dieses Ereignisses wird die Anwendung nicht beendet.

AIR für TV setzt das exiting-Ereignis niemals ab.

Hinweis: Beim Aufrufen der exit()-Methode von NativeApplication wird kein exiting-Ereignis ausgelöst. Wenn eine Anwendung Komponenten über das bevorstehende Beenden informieren soll, sollte das exiting-Ereignis vor dem Aufruf von exit() abgesetzt werden.

deactivate Wird ausgelöst, wenn der Desktop-Fokus zu einer anderen Anwendung wechselt.flash.events.Event.DEACTIVATEflash.events.Event Wird ausgelöst, wenn der Desktop-Fokus zu einer anderen Anwendung wechselt. activate Wird ausgelöst, wenn diese Anwendung die aktive Desktopanwendung wird.flash.events.Event.ACTIVATEflash.events.Event Wird ausgelöst, wenn diese Anwendung die aktive Desktopanwendung wird. browserInvoke Wird ausgelöst, wenn die Anwendung durch eine SWF-Datei aufgerufen wird, die im Browser des Benutzers ausgeführt wird.flash.events.BrowserInvokeEvent.Browser_INVOKEflash.events.BrowserInvokeEvent Wird ausgelöst, wenn die Anwendung durch eine SWF-Datei aufgerufen wird, die im Browser des Benutzers ausgeführt wird.

Der Aufruf durch den Browser ist nur dann zulässig, wenn in der Anwendungsdeskriptordatei einer Anwendung Folgendes angegeben ist:

<allowBrowserInvocation>true</allowBrowserInvocation>
invoke Wird ausgelöst, wenn eine Anwendung aufgerufen wird.flash.events.InvokeEvent.INVOKEflash.events.InvokeEvent Wird ausgelöst, wenn eine Anwendung aufgerufen wird.

Wenn eine Anwendung ein zweites Mal aufgerufen wird, wird keine weitere Instanz der Anwendung gestartet. Stattdessen erhält die erste Instanz ein zusätzliches Aufrufereignis. Die Anwendung ist dafür zuständig, weitere invoke-Ereignisse entsprechend zu behandeln.

Hinweis: Alle invoke-Ereignisse werden in eine Warteschlange gestellt. Wenn ein Listener für dieses Ereignis registriert ist, erhält er alle Ereignisse in der Warteschlange sowie alle neuen Ereignisse. In die Warteschlange gestellte Ereignisse können vor oder nach neuen invoke-Ereignissen ausgegeben werden.

activate Aktiviert diese Anwendung.windowflash.display:NativeWindownullDas NativeWindow-Objekt des Fensters, das gemeinsam mit der Anwendung aktiviert wird. Aktiviert diese Anwendung.

Diese Methode wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.

Unter Umständen, die vom Betriebssystem bestimmt werden, aktiviert diese Methode eine Anwendung nicht. Die meisten Betriebssysteme schränken die Möglichkeiten einer Anwendung, sich selbst zu aktivieren, ein. Damit soll verhindert werden, dass es die Anwendung dem Benutzer (absichtlich oder nicht) unmöglich macht, andere Anwendungen zu verwenden.

Wenn das Betriebssystem die Aktivierung zulässt, wird das festgelegte Fenster aktiviert und im Vordergrund des Desktops angezeigt, d. h. vor Fenstern anderer Anwendungen. (Wenn der window-Parameter den Wert null aufweist, wird jedes sichtbare Fenster dieser Anwendung aktiviert.)

Die activate()-Methode hat keine Auswirkungen, wenn die Anwendung keine sichtbaren Fenster hat.

Der Aktivierungsvorgang ist ein synchroner Vorgang.

activateflash.events:EventWird ausgelöst, wenn sich der Aktivierungsstatus ändert. Wird ausgelöst, wenn sich der Aktivierungsstatus ändert.
addEventListener Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.typeStringDer Typ des Ereignisses. listenerFunctionDie Listener-Funktion, die das Ereignis verarbeitet. Diese Funktion muss ein Ereignisobjekt als einzigen Parameter akzeptieren und darf keinen Wert zurückgeben, wie das nachfolgende Beispiel zeigt: function(evt:Event):void

Der Name der Funktion ist beliebig.

useCaptureBooleanfalse Bestimmt, ob der Listener in der Erfassungsphase oder in der Ziel- und Bubbling-Phase arbeitet. Ist useCapture auf true gesetzt, so verarbeitet der Listener das Ereignis nur während der Erfassungsphase und nicht während der Ziel- oder Bubbling-Phase. Hat useCapture hingegen den Wert false, verarbeitet der Listener das Ereignis nur während der Ziel- oder Bubbling-Phase. Um auf das Ereignis in allen drei Phasen zu warten, rufen Sie addEventListener() zweimal auf; einmal ist useCapture auf true gesetzt, und beim zweiten Mal hat useCapture den Wert false. priorityint0Die Prioritätsstufe des Ereignis-Listeners. Die Priorität wird durch eine vorzeichenbehaftete 32-Bit-Ganzzahl zugewiesen. Je höher die Zahl, desto höher die Priorität. Alle Listener mit der Priorität n werden vor Listenern mit der Priorität n -1 verarbeitet. Wenn zwei oder mehr Listener die gleiche Priorität aufweisen, werden sie in der Reihenfolge verarbeitet, in der sie hinzugefügt wurden. Die Standardpriorität ist 0. useWeakReferenceBooleanfalseBestimmt, ob der Verweis auf den Listener stark oder schwach ist. Ein starker Verweis (der Standard) verhindert, dass der Listener von einem Garbage Collector entfernt wird. Ein schwacher Verweis hingegen nicht.

Funktionen von Mitgliedern auf Klassenebene werden nicht vom Garbagekollektor entfernt. Daher können Sie useWeakReference für Mitgliedsfunktionen auf Klassenebene auf true setzen, ohne dass sie vom Garbagekollektor entfernt werden. Wenn Sie useWeakReference auf true setzen bei einem Listener, der eine verschachtelte innere Funktion ist, wird die Funktion vom Garbagekollektor entfernt. Indem Sie Verweise auf die innere Funktion erstellen (d. h sie in einer anderen Variable speichern), umgehen Sie die Garbage Collection, sodass die Funktion permanent gespeichert bleibt.

Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. Sie können Ereignis-Listener bei allen Knoten in der Anzeigeliste für eine bestimmte Art von Ereignis, Phase oder Priorität registrieren.

Nachdem Sie einen Ereignis-Listener erfolgreich registriert haben, können Sie seine Priorität nicht durch weitere Aufrufe von addEventListener() ändern. Um die Priorität eines Listeners zu ändern, müssen Sie zunächst removeListener() aufrufen. Anschließend können Sie den Listener mit der neuen Prioritätsstufe erneut aufrufen.

Nach der Registrierung des Listeners haben nachfolgende Aufrufe von addEventListener() mit einem anderen type- oder useCapture-Wert eine separate Listener-Registrierung zur Folge. Wenn Sie beispielsweise zuerst einen Listener registrieren, für den useCapture auf true gesetzt ist, wird dieser nur während der Aufnahmephase aktiv sein. Wenn Sie addEventListener() für dasselbe Listener-Objekt erneut aufrufen, diesmal aber useCapture auf false gesetzt ist, werden zwei separate Listener angelegt: einer, der während der Aufnahmephase aktiv ist und ein zweiter, der während der Ziel- und Bubbling-Phase aktiv ist.

Sie können einen Ereignis-Listener nicht nur für die Ziel- oder Bubbling-Phase registrieren. Die beiden Phasen hängen während der Registrierung immer zusammen, da Bubbling nur für übergeordnete Elemente des Zielknotens gilt.

Wenn Sie einen Ereignis-Listener nicht mehr brauchen, entfernen sie ihn, indem Sie removeEventListener() aufrufen. Andernfalls könnte es zu Speicherproblemen kommen. Ereignis-Listener werden nicht automatisch aus dem Speicher entfernt, da der Garbage Collector den Listener nicht entfernt, solange das auslösende Objekt vorhanden ist (sofern der useWeakReference-Parameter auf true gesetzt ist).

Beim Kopieren einer EventDispatcher-Instanz werden zugewiesene Ereignis-Listener nicht kopiert. (Wenn ein neu angelegter Knoten einen Ereignis-Listener benötigt, müssen Sie den Listener nach dem Erstellen des Knotens zuweisen.) Wenn Sie jedoch eine EventDispatcher-Instanz verschieben, werden zugewiesene Ereignis-Listener ebenfalls verschoben.

Wenn der Ereignis-Listener bei einem Knoten registriert wird, während mit diesem Knoten ein Ereignis durchgeführt wird, so wird der Ereignis-Listener während der aktuellen Phase nicht ausgelöst, kann aber während einer späteren Phase im Ereignisablauf ausgelöst werden, etwa während der Bubbling-Phase.

Wird ein Ereignis-Listener von einem Knoten entfernt, während mit dem Knoten ein Ereignis durchgeführt wird, so wird er von den aktuellen Aktionen immer noch ausgelöst. Nachdem er entfernt worden ist, wird der Ereignis-Listener nicht wieder aufgerufen (es sei denn er wird für spätere Verarbeitungsvorgänge erneut aufgerufen).

clear Ruft einen internen Löschen-Befehl für das Anzeigeobjekt im Fokus auf.true. Boolean Ruft einen internen Löschen-Befehl für das Anzeigeobjekt im Fokus auf.

Dieser Funktionsaufruf wird ignoriert, wenn das Objekt im Fokus den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.

Hinweis: Der clear()-Befehl löscht ausgewählten Text. Wenn nichts ausgewählt ist, wird nicht der gesamte Text gelöscht.

copy Ruft einen internen Kopieren-Befehl für das Anzeigeobjekt im Fokus auf.Boolean Ruft einen internen Kopieren-Befehl für das Anzeigeobjekt im Fokus auf.

Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.

cut Ruft einen internen Ausschneiden-Befehl für das Anzeigeobjekt im Fokus auf.true. Boolean Ruft einen internen Ausschneiden-Befehl für das Anzeigeobjekt im Fokus auf.

Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diese Befehle.

dispatchEvent Sendet ein Ereignis in den Ereignisablauf.Der Wert true, wenn das Ereignis erfolgreich ausgelöst wurde. Der Wert false weist entweder auf einen Fehler hin oder auf die Tatsache, dass preventDefault() für das Ereignis aufgerufen worden ist. Booleaneventflash.events:EventDas Ereignisobjekt, das in den Ereignisablauf integriert wird. Wenn das Ereignis erneut gesendet wird, wird automatisch ein Klon des Ereignisses erstellt. Nachdem ein Ereignis ausgelöst wurde, lässt sich seine target-Eigenschaft nicht mehr ändern, daher funktioniert ein Zurücksenden des Ereignisses nur, wenn Sie eine neue Kopie des Ereignisses erstellen. Sendet ein Ereignis in den Ereignisablauf. Das Ereignisziel ist das EventDispatcher-Objekt, für das die Methode dispatchEvent() aufgerufen wird. exit Beendet diese Anwendung.errorCodeint0Der Beenden-Code, der dem Betriebssystem gemeldet wird, wenn diese Anwendung beendet wird. Beendet diese Anwendung.

Der Aufruf der exit()-Methode erfolgt erneut; die Beenden-Sequenz beginnt erst, wenn der zurzeit ausgeführte Code (zum Beispiel eine Ereignisprozedur) abgeschlossen ist. Ausstehende asynchrone Vorgänge werden abgebrochen, egal, ob sie abgeschlossen sind oder nicht.

Beachten Sie, dass kein exiting-Ereignis ausgelöst wird. Wenn die Anwendungslogik ein exiting-Ereignis erfordert, rufen Sie NativeApplication.nativeApplication.dispatchEvent() auf und übergeben Sie in Ereignisobjekt des Typs exiting. Für geöffnete Fenster setzen NativeWindow-Objekte closing- und close-Ereignisse ab. Der Aufruf der preventDefault()-Methode des closing-Ereignisobjekts verhindert das Schließen der Anwendung.

Hinweis: Diese Methode wird vom iOS-Betriebssystem nicht unterstützt.

getDefaultApplication Ruft die Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung ab.Wenn der extension-Parameter keine der Dateierweiterungen enthält, die im Anwendungsdeskriptor deklariert sind. ErrorErrorDer Pfad der Standardanwendung StringextensionStringEin String mit der Erweiterung des relevanten Dateityps (ohne „.“). Ruft die Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung ab.

Hinweis: Diese Methode kann nur mit Dateitypen, die in der fileTypes-Anweisung des Anwendungsdeskriptors deklariert sind, verwendet werden.

Diese Methode gilt nicht für Geräte mit AIR für TV. Wenn Sie sie mit einem Dateityp aufrufen, der im Anwendungsdeskriptor deklariert wird, wird null zurückgegeben.

applicationDescriptor
isSetAsDefaultApplication Gibt an, ob diese Anwendung zurzeit die Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung ist.Wenn der extension-Parameter keine der Dateierweiterungen enthält, die im Anwendungsdeskriptor deklariert sind. ErrorErrortrue, wenn diese Anwendung die Standardanwendung ist. BooleanextensionStringEin String mit der Erweiterung des relevanten Dateityps (ohne „.“). Gibt an, ob diese Anwendung zurzeit die Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung ist.

Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der NativeApplication.supportsDefaultApplication-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

applicationDescriptorsupportsDefaultApplication
paste Ruft einen internen Einfügen-Befehl für das Anzeigeobjekt im Fokus auf.true. Boolean Ruft einen internen Einfügen-Befehl für das Anzeigeobjekt im Fokus auf.

Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.

removeAsDefaultApplication Entfernt diese Anwendung als Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung.Wenn der extension-Parameter keine der Dateierweiterungen enthält, die im Anwendungsdeskriptor deklariert sind. ErrorErrorextensionStringEin String mit der Erweiterung des relevanten Dateityps (ohne „.“). Entfernt diese Anwendung als Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung.

Hinweis: Diese Methode kann nur mit Dateitypen, die in der fileTypes-Anweisung im Anwendungsdeskriptors deklariert sind, verwendet werden.

applicationDescriptorsupportsDefaultApplication
removeEventListener Entfernt einen Listener aus dem EventDispatcher-Objekt.typeStringDer Typ des Ereignisses. listenerFunctionDas zu entfernende Listener-Objekt. useCaptureBooleanfalse Gibt an, ob der Listener für die Erfassungsphase oder die Ziel- und Bubbling-Phase registriert wurde. Wenn der Listener sowohl für die Aufnahme- als auch für die Bubbling-Phase registriert wurde, sind auch zwei Aufrufe von removeEventListener() erforderlich, um beide zu entfernen: ein Aufruf, bei dem useCapture auf true gesetzt ist, und einer, bei dem useCapture auf false gesetzt ist. Entfernt einen Listener aus dem EventDispatcher-Objekt. Wenn kein entsprechender Listener mit dem EventDispatcher-Objekt registriert ist, hat ein Aufruf dieser Methode keine Auswirkungen. selectAll Ruft einen internen Alles-auswählen-Befehl für das Anzeigeobjekt im Fokus auf.true. Boolean Ruft einen internen Alles-auswählen-Befehl für das Anzeigeobjekt im Fokus auf.

Dieser Funktionsaufruf wird ignoriert, wenn die Komponente den Befehl nicht implementiert. Derzeit implementieren nur Anzeigeobjekte, die von der TextField- oder HTMLLoader-Klasse abgeleitet sind, diesen Befehl.

setAsDefaultApplication Legt diese Anwendung als Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung fest.Wenn der extension-Parameter keine der Dateierweiterungen enthält, die im Anwendungsdeskriptor deklariert sind. ErrorErrorextensionStringEin String mit der Erweiterung des relevanten Dateityps (ohne „.“). Legt diese Anwendung als Standardanwendung zum Öffnen von Dateien mit der angegebenen Erweiterung fest.

Hinweis: Diese Methode kann nur mit Dateitypen, die in der fileTypes-Anweisung im Anwendungsdeskriptors deklariert sind, verwendet werden.

applicationDescriptorsupportsDefaultApplication
activeWindow Das aktive Fenster der Anwendung.flash.display:NativeWindow Das aktive Fenster der Anwendung.

Wenn das aktive Desktopfenster nicht zu dieser Anwendung gehört oder kein aktives Fenster vorhanden ist, weist activeWindow den Wert null auf.

Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.

applicationDescriptor Der Inhalt der Anwendungsdeskriptordatei für diese AIR-Anwendung.XML Der Inhalt der Anwendungsdeskriptordatei für diese AIR-Anwendung. Im folgenden Beispiel werden die Elemente copyright und version aus der Anwendungsdeskriptordatei gelesen. Beachten Sie, dass Sie den Standard-Namespace verwenden müssen, der im XML-Code der Anwendungsdeskriptordatei definiert ist. var appDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; var ns:Namespace = appDescriptor.namespace(); var appCopyright:String = appDescriptor.ns::copyright; var appVersion:String = appDescriptor.ns::version; trace("appId:", appCopyright); trace("version:", appVersion); applicationID Die Anwendungs-ID dieser Anwendung.String Die Anwendungs-ID dieser Anwendung.

Der Wert dieser ID wird in der Anwendungsdeskriptordatei festgelegt.

autoExit Legt fest, ob die Anwendung automatisch beendet wird, wenn alle Fenster geschlossen wurden.Boolean Legt fest, ob die Anwendung automatisch beendet wird, wenn alle Fenster geschlossen wurden.

Wenn autoExit den Wert true hat (Standardeinstellung), wird die Anwendung beendet, wenn alle Fenster geschlossen wurden. Es wird sowohl das exiting- als auch das exit-Ereignis ausgelöst. Wenn autoExit den Wert false hat, müssen Sie NativeApplication.nativeApplication.exit() aufrufen, um die Anwendung zu beenden.

Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.

icon Das Anwendungssymbol.flash.desktop:InteractiveIcon Das Anwendungssymbol.

Mit NativeApplication.supportsDockIcon und NativeApplication.supportsSystemTrayIcon können Sie die Symbolklasse festlegen. Der Typ ist eine der Unterklassen von InteractiveIcon. Unter Mac® OS X ist NativeApplication.icon ein Objekt vom Typ DockIcon. Unter Windows® ist NativeApplication.icon ein Objekt vom Typ SystemTrayIcon. Wenn ein Anwendungssymbol nicht unterstützt wird, sind NativeApplication.supportsDockIcon und NativeApplication.supportsSystemTrayIcon beide false und die icon-Eigenschaft ist null.

Das icon-Objekt wird automatisch erstellt, es wird jedoch nicht mit Bilddaten initialisiert. Unter manchen Betriebssystemen, z. B. Mac OS X, wird ein Standardbild bereitgestellt. Unter anderen, z. B. Windows, wird das Symbol erst angezeigt, wenn ihm Bilddaten zugewiesen werden. Um ein Symbolbild zuzuweisen, legen Sie für die icon.bitmaps-Eigenschaft ein Array fest, das mindestens ein BitmapData-Objekt enthält. Enthält das Array mehrere BitmapData-Objekte, wählt das Betriebssystem das Bild, dessen Größe den Abmessungen des Symbols am nächsten kommt, wobei das Bild bei Bedarf skaliert wird.

supportsDockIconflash.desktop.DockIconsupportsSystemTrayIconflash.desktop.SystemTrayIcon
idleThreshold Die Anzahl der Sekunden, die ohne Benutzereingabe verstreichen müssen, bevor ein userIdle-Ereignis ausgelöst wird.intWenn Sie versuchen, die Eigenschaft auf einen ungültigen Wert zu setzen. Der Bereich der erlaubten Werte reicht von (einschließlich) 5 (5 Sekunden) bis 86.400 (ein Tag). ArgumentErrorArgumentError Die Anzahl der Sekunden, die ohne Benutzereingabe verstreichen müssen, bevor ein userIdle-Ereignis ausgelöst wird.

Standardmäßig ist der Leerlaufwert auf 300 Sekunden (5 Minuten) eingestellt. Der Bereich der erlaubten Werte reicht von (einschließlich) 5 (5 Sekunden) bis 86.400 (ein Tag).

userIdleuserPresent
menu Das Anwendungsmenü.flash.display:NativeMenu Das Anwendungsmenü.

Anwendungsmenüs werden unterstützt, wenn NativeApplication.nativeApplication.supportsMenu den Wert true aufweist. Nicht alle Betriebssysteme unterstützen Anwendungsmenüs. Anwendungsmenüs werden zum Beispiel unter Mac OS X unterstützt, nicht jedoch unter Windows oder Linux. Das Zuweisen eines NativeMenu-Objekts zu dieser Eigenschaft, wenn NativeApplication.nativeApplication.supportsMenu den Wert false hat, ist zwar zulässig, hat aber keine Auswirkungen. Sie sollten die NativeApplication.nativeApplication.supportsMenu-Eigenschaft verwenden, um festzulegen, ob das Betriebssystem Fenstermenüs unterstützt. Die Verwendung anderer Vorgehensweisen (z. B. Capabilities.os) zur Festlegung der Unterstützung kann zu Programmierfehlern führen (beispielsweise dann, wenn mögliche Zielbetriebssysteme nicht berücksichtigt werden).

AIR-Profilunterstützung: Diese Funktion wird auf mobilen Geräten oder Geräten mit AIR für TV nicht unterstützt. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Hinweis: Unter Mac OS X verweist die Eigenschaft menu auf das vom Betriebssystem bereitgestellte Standardanwendungsmenü. Sie können die vorhandene Menüstruktur ändern, indem Sie Elemente und Untermenüs hinzufügen oder entfernen und indem Sie Ereignis-Listener hinzufügen. Sie können die Standardmenüs auch vollständig entfernen, indem Sie dieser menu-Eigenschaft ein neues NativeMenu-Objekt zuweisen.

flash.display.NativeMenuflash.display.NativeWindow.supportsMenu
nativeApplication Die Singleton-Instanz des NativeApplication-Objekts.flash.desktop:NativeApplicationWenn der Zugriff durch Inhalte außerhalb der Sicherheitssandbox der Anwendung erfolgt. ErrorError Die Singleton-Instanz des NativeApplication-Objekts. openedWindows Ein Array, das alle geöffneten nativen Fenster dieser Anwendung enthält.Array Ein Array, das alle geöffneten nativen Fenster dieser Anwendung enthält.

Diese Eigenschaft wird auf Plattformen, die die NativeWindow-Klasse nicht unterstützen, nicht unterstützt.

publisherID Die Veröffentlicher-ID dieser Anwendung.String Die Veröffentlicher-ID dieser Anwendung.

Der Wert dieser ID wird in der publisherid-Datei der Anwendung festgelegt. Diese Datei wird bei der Installation aus der Zertifikatskette, mit der die Anwendung signiert wird, generiert.

runtimePatchLevel Die Patchebene der Laufzeitumgebung, die diese Anwendung hostet.uint Die Patchebene der Laufzeitumgebung, die diese Anwendung hostet. runtimeVersion Die Versionsnummer der Laufzeitumgebung, die diese Anwendung hostet.String Die Versionsnummer der Laufzeitumgebung, die diese Anwendung hostet. startAtLogin Legt fest, ob diese Anwendung automatisch gestartet wird, wenn sich der aktuelle Benutzer anmeldet.BooleanUnter Windows, wenn eine andere Anwendung mit demselben Namen (aber einem anderen Pfad zur ausführbaren Datei) bereits gestartet wird, wenn sich der Benutzer anmeldet. IllegalOperationErrorflash.errors:IllegalOperationErrorWenn diese Anwendung nicht installiert ist, was der Fall sein kann, wenn sie vom AIR Debug Launcher (ADL) gestartet wurde. IllegalOperationErrorflash.errors:IllegalOperationError Legt fest, ob diese Anwendung automatisch gestartet wird, wenn sich der aktuelle Benutzer anmeldet.

Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der NativeApplication.supportsStartAtLogin-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Die startAtLogin-Eigenschaft stellt den Status der vom Betriebssystem definierten Funktionalität dar, die festlegt, dass eine Anwendung automatisch gestartet wird, wenn sich ein Benutzer anmeldet. Der Benutzer kann den Status über die Benutzeroberfläche des Betriebsystems manuell ändern. Diese Eigenschaft stellt den aktuellen Status dar, unabhängig davon, ob er zuletzt von der AIR-Anwendung oder vom Betriebssystem geändert wurde.

supportsStartAtLogin
supportsDefaultApplication Gibt an, ob setAsDefaultApplication(), removeAsDefaultApplication() und isSetAsDefaultApplication() von der aktuellen Plattform unterstützt werden.Boolean Gibt an, ob setAsDefaultApplication(), removeAsDefaultApplication() und isSetAsDefaultApplication() von der aktuellen Plattform unterstützt werden.

Bei dem Wert true funktionieren die oben genannten Methoden wie beschrieben. Bei dem Wert false sind setAsDefaultApplication() und removeDefaultApplication() ohne Auswirkungen und isSetAsDefaultApplication() gibt false zurück.

setAsDefaultApplication()removeAsDefaultApplication()isSetAsDefaultApplication()
supportsDockIcon Gibt an, ob AIR Anwendungssymbol im Dock-Stil unter dem aktuellen Betriebssystem unterstützt.Boolean Gibt an, ob AIR Anwendungssymbol im Dock-Stil unter dem aktuellen Betriebssystem unterstützt.

Wenn der Wert true lautet, hat die NativeApplication.icon-Eigenschaft den Typ DockIcon.

Die Benutzeroberfläche von Mac OS X verfügt über ein Anwendungs-„Dock“ mit Symbolen für Anwendungen, die zurzeit ausgeführt oder häufig verwendet werden.

Sie sollten die NativeApplication.supportsDockIcon-Eigenschaft verwenden, um festzulegen, ob das Betriebssystem Anwendungs-Dock-Symbole unterstützt. Die Verwendung anderer Vorgehensweisen (z. B. Capabilities.os) zur Festlegung der Unterstützung kann zu Programmierfehlern führen (beispielsweise dann, wenn mögliche Zielbetriebssysteme nicht berücksichtigt werden).

iconflash.desktop.DockIcon
supportsMenu Legt fest, ob das aktuelle Betriebssystem eine globale Anwendungsmenüleiste unterstützt.Boolean Legt fest, ob das aktuelle Betriebssystem eine globale Anwendungsmenüleiste unterstützt.

Bei der Einstellung true kann mit der NativeApplication.menu-Eigenschaft ein natives Anwendungsmenü definiert bzw. auf dieses zugegriffen werden.

Sie sollten die NativeApplication.supportsMenu-Eigenschaft verwenden, um festzulegen, ob das Betriebssystem die Anwendungsmenüleiste unterstützt. Die Verwendung anderer Vorgehensweisen (z. B. Capabilities.os) zur Festlegung der Unterstützung kann zu Programmierfehlern führen (beispielsweise dann, wenn mögliche Zielbetriebssysteme nicht berücksichtigt werden).

menuflash.display.NativeWindow.supportsMenu
supportsStartAtLogin Gibt an, ob startAtLogin von der aktuellen Plattform unterstützt wird.Boolean Gibt an, ob startAtLogin von der aktuellen Plattform unterstützt wird.

Bei dem Wert true funktioniert startAtLogin wie beschrieben. Bei dem Wert false hat startAtLogin keine Auswirkungen.

startAtLogin
supportsSystemTrayIcon Legt fest, ob AIR Infobereich-Symbole unter dem aktuellen Betriebssystem unterstützt.Boolean Legt fest, ob AIR Infobereich-Symbole unter dem aktuellen Betriebssystem unterstützt.

Wenn der Wert true lautet, hat die NativeApplication.icon-Eigenschaft den Typ SystemTrayIcon.

Die Windows-Benutzeroberfläche verfügt über den Infobereich („System Tray“) in der Taskleiste, in dem Anwendungssymbole angezeigt werden können. Es wird kein Standardsymbol angezeigt. Sie müssen das bitmaps-Array des Symbolobjekts festlegen, um ein Symbol anzuzeigen.

Sie sollten die NativeApplication.supportsSystemTrayIcon-Eigenschaft verwenden, um festzulegen, ob das Betriebssystem Infobereichsymbole unterstützt. Die Verwendung anderer Vorgehensweisen (z. B. Capabilities.os) zur Festlegung der Unterstützung kann zu Programmierfehlern führen (beispielsweise dann, wenn mögliche Zielbetriebssysteme nicht berücksichtigt werden).

iconflash.desktop.SystemTrayIcon
systemIdleMode Bietet Anwendungen eine Möglichkeit zu verhindern, dass die Benutzeroberfläche in den „Leerlauf“ versetzt wird.String Bietet Anwendungen eine Möglichkeit zu verhindern, dass die Benutzeroberfläche in den „Leerlauf“ versetzt wird.

Ein Wert aus der SystemIdleMode-Klasse, um das Verhalten des Hostsystems im Leerlauf zu beeinflussen. Diese Eigenschaft wirkt sich nur auf die Anwendung mit dem Eingabefokus aus; und nur Inhalt, der in der Anwendungssandbox ausgeführt wird, kann auf diese Eigenschaft zugreifen.

Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

flash.desktop.SystemIdleMode
timeSinceLastUserInput Die Zeit in Sekunden seit der letzten Benutzereingabe.int Die Zeit in Sekunden seit der letzten Benutzereingabe. userIdleuserPresent
Updater Die Updater-Klasse wird verwendet, um die zurzeit ausgeführte Anwendung mit einer anderen Version zu aktualisieren.Object Die Updater-Klasse wird verwendet, um die zurzeit ausgeführte Anwendung mit einer anderen Version zu aktualisieren. Um sie zu verwenden, instanziieren Sie ein Updater-Objekt und rufen Sie dann dessen update()-Methode auf.

Die Updater-Klasse wird nur im Desktop-Profil unterstützt. Sie wird weder für erweiterte Desktop-Anwendungen (Anwendungen, die mit einem nativen Installer installiert werden) noch im Mobil-AIR-Profil oder in AIR-für-TV-Profilen unterstützt. Überprüfen Sie die Updater.isSupported-Eigenschaft.

Erweiterte Desktop-Anwendungen (Anwendungen, die mit einem nativen Installer installiert werden) können eine neue Version des nativen Installers herunterladen und diesen mithilfe der File.openWithDefaultApplication()-Methode starten.

air.update.ApplicationUpdaterair.update.ApplicationUpdaterUIUpdater Die Konstruktorfunktion für die Updater-Klasse. Die Konstruktorfunktion für die Updater-Klasse. Beachten Sie, dass die update()-Methode kein statisches Mitglied der Klasse ist. Sie müssen ein Updater-Objekt instanziieren und dann die update()-Methode dafür aufrufen. update Aktualisiert die zurzeit ausgeführte Anwendung mit der Version der Anwendung, die in der angegebenen AIR-Datei enthalten ist.Die Methode wurde beim Ausführen in ADL aufgerufen. IllegalOperationErrorflash.errors:IllegalOperationErrorairFileflash.filesystem:FileDas File-Objekt, das auf die AIR-Datei verweist, die die aktualisierte Version der Anwendung enthält. versionStringDie erforderliche Version in der neuen AIR-Datei. Der String im version-Attribut des Haupt-application-Elements der Anwendungsdeskriptordatei für die AIR-Datei muss mit diesem Wert übereinstimmen, damit die Aktualisierung erfolgreich verläuft. Aktualisiert die zurzeit ausgeführte Anwendung mit der Version der Anwendung, die in der angegebenen AIR-Datei enthalten ist. Die Anwendung in der AIR-Datei muss dieselbe Anwendungskennung (appID) aufweisen wie die zurzeit ausgeführte Anwendung.

Durch den Aufruf dieser Methode wird die aktuelle Anwendung beendet (wie beim Aufruf der NativeApplication.exit()-Methode). Dies ist erforderlich, da Adobe AIR eine Anwendung nicht vollständig aktualisieren kann, wenn die Anwendung ausgeführt wird. Nachdem die neue Version der Anwendung erfolgreich installiert wurde, wird die Anwendung gestartet. Wenn die neue Version von der Laufzeitumgebung nicht erfolgreich installiert werden kann (weil zum Beispiel die Anwendungs-ID nicht mit der vorhandenen Version übereinstimmt), zeigt das AIR-Installationsprogramm eine Fehlermeldung an. Danach wird wieder die alte Version gestartet.

Unabhängig davon, ob die Aktualisierung erfolgreich verläuft oder nicht, startet der Aktualisierungsprozess die Anwendung neu. Aktualisierungen können aus verschiedenen Gründen fehlschlagen, zum Teil, ohne dass die Anwendung Einfluss darauf nehmen kann (zum Beispiel, wenn der Benutzer nicht über die Berechtigung zum Installieren der Anwendung verfügt). Anwendungen sollten fehlgeschlagene Versuche erkennen und den fehlgeschlagenen Vorgang nicht wiederholen. Die resultierende unendliche Schleife würde die Anwendung praktisch deaktivieren. Eine Möglichkeit, den Erfolg einer Aktualisierung zu überprüfen, besteht darin, die aktuelle Versionsnummer vor der Aktualisierung in eine Datei zu schreiben und sie dann mit der Versionsnummer nach dem Neustart der Anwendung zu vergleichen.

Wenn Sie eine Anwendung mit dem AIR Debug Launcher (ADL) testen, führt der Aufruf der update()-Methode zu einer IllegalOperationError-Ausnahme.

Wenn unter Mac OS eine aktualisierte Version der Anwendung installiert werden soll, benötigt der Benutzer die entsprechenden Systemberechtigungen, um im Anwendungsverzeichnis zu installieren. Unter Windows und Linux benötigt der Benutzer Administratorberechtigungen.

Wenn für die aktualisierte Version der Anwendung eine aktualisierte Version der Laufzeitumgebung erforderlich ist, wird die neue Laufzeitversion installiert. Um die Laufzeitumgebung zu aktualisieren, muss der Benutzer über Administratorberechtigungen für den Computer verfügen.

Hinweis: Aus Sicherheitsgründen ist die Angabe des version-Parameters erforderlich. Durch das obligatorische Überprüfen der Versionsnummer in der AIR-Datei wird verhindert, dass die Anwendung unbeabsichtigt eine ältere Version installiert, die möglicherweise Sicherheitslücken aufweist, die in der neueren Version behoben wurden.

Beachten Sie, dass es sich bei der update()-Methode nicht um eine statische Methode der Klasse handelt. Sie instanziieren ein Updater-Objekt und rufen die update()-Methode dieses Objekts auf. import flash.fileSystem.File; import flash.desktop.Updater; var updater:Updater = new Updater(); var airFile:File = File.applicationStorageDirectory.resolvePath("Example Application.air"); var version:String = "2.01"; updater.update(airFile, version);
air.update.ApplicationUpdaterair.update.ApplicationUpdaterUI
isSupported Die isSupported-Eigenschaft hat den Wert „true“, wenn die Updater-Klasse auf der aktuellen Plattform verfügbar ist, andernfalls hat sie den Wert „false“.Boolean Die isSupported-Eigenschaft hat den Wert true, wenn die Updater-Klasse auf der aktuellen Plattform verfügbar ist, andernfalls hat sie den Wert false.
SystemTrayIcon Die SystemTrayIcon-Klasse stellt das Symbol im Stil des Taskleisten-Infobereichs von Windows dar.Ein Taskleistensymbol. flash.desktop:InteractiveIcon Die SystemTrayIcon-Klasse stellt das Symbol im Stil des Taskleisten®-Infobereichs von Windows dar.

Unterstützung von AIR-Profilen: Diese Funktion wird auf Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Nicht alle Desktop-Betriebssysteme verfügen über Infobereich-Symbole. Überprüfen Sie NativeApplication.supportsSystemTrayIcon, um festzustellen, ob Symbole für den Infobereich auf dem aktuellen System unterstützt werden.

Es kann keine Instanz der SystemTrayIcon-Klasse erstellt werden. Rufen Sie das Objekt, das das Infobereichsymbol darstellt, von der icon-Eigenschaft des „globalen“ NativeApplication-Objekts ab.

Wenn Infobereichsymbole unterstützt werden, hat das Symbol den Typ SystemTrayIcon. Andernfalls weist icon eine andere Unterklasse von InteractiveIcon, normalerweise DockIcon, auf.

Wichtig: Beim Versuch, eine Methode der SystemTrayIcon-Klasse für das NativeApplication.icon-Objekt auf einem Betriebssystem aufzurufen, für das AIR keine Infobereichsymbole unterstützt, tritt ein Laufzeitausnahmefehler auf.

flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsSystemTrayIconflash.desktop.DockIconrightClick Wird beim Klicken mit der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.RIGHT_CLICKflash.events.ScreenMouseEvent Wird beim Klicken mit der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. rightMouseUp Wird beim Loslassen der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.RIGHT_MOUSE_UPflash.events.ScreenMouseEvent Wird beim Loslassen der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. rightMouseDown Wird beim Drücken der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.RIGHT_MOUSE_DOWNflash.events.ScreenMouseEvent Wird beim Drücken der rechten Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. click Wird beim Klicken mit der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.CLICKflash.events.ScreenMouseEvent Wird beim Klicken mit der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. mouseUp Wird beim Loslassen der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.MOUSE_UPflash.events.ScreenMouseEvent Wird beim Loslassen der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. mouseDown Wird beim Drücken der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst.flash.events.ScreenMouseEvent.MOUSE_DOWNflash.events.ScreenMouseEvent Wird beim Drücken der Maustaste von diesem SystemTrayIcon-Objekt ausgelöst. MAX_TIP_LENGTH Die zulässige Länge des Quickinfos für das Infobereich-Symbol.63Number Die zulässige Länge des Quickinfos für das Infobereich-Symbol. bitmaps Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.Array Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.

Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)

In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der bitmaps-Eigenschaft keine Eingabe zugewiesen wurde. In anderen Kontexten wird kein Symbol angezeigt.

Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der bitmaps-Eigenschaft ein Array mit bitmapData-Objekten zu:

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

Das direkte Ändern des bitmaps-Array hat keine Auswirkungen.

Um das Symbolbild zu löschen, weisen Sie der bitmaps-Eigenschaft ein leeres Array zu.

Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.

height Die aktuelle Anzeigehöhe des Symbols in Pixel.int Die aktuelle Anzeigehöhe des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die height-Eigenschaft gibt die Höhe des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigehöhe kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

menu Das Menü des Infobereich-Symbols.flash.display:NativeMenu Das Menü des Infobereich-Symbols. tooltip Das Quickinfo, das für das Infobereich-Symbol angezeigt wird.String Das Quickinfo, das für das Infobereich-Symbol angezeigt wird. Wenn der String länger ist als SystemTrayIcon.MAX_TIP_LENGTH, wird das Quickinfo abgeschnitten. width Die aktuelle Anzeigebreite des Symbols in Pixel.int Die aktuelle Anzeigebreite des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die width-Eigenschaft gibt die Breite des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigebreite kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

Clipboard Die Clipboard-Klasse stellt einen Container zum Übertragen von Daten und Objekten mithilfe der Zwischenablage bereit.Object Die Clipboard-Klasse stellt einen Container zum Übertragen von Daten und Objekten mithilfe der Zwischenablage bereit. Auf die Zwischenablage des Betriebssystems kann über die statische generalClipboard-Eigenschaft zugegriffen werden.

Ein Clipboard-Objekt kann dieselben Informationen in mehreren Formaten enthalten. Auf diese Weise ist die Wahrscheinlichkeit größer, dass eine andere Anwendung diese Informationen verwenden kann. Mit der setData()- oder setDataHandler()-Methode können Sie einem Clipboard-Objekt Daten hinzufügen.

Die Standardformate sind:

  • BITMAP_FORMAT: ein BitmapData-Objekt (nur AIR)
  • FILE_LIST_FORMAT: ein Array von File-Objekten (nur AIR)
  • HTML_FORMAT: Stringdaten im HTML-Format
  • TEXT_FORMAT: Stringdaten
  • RICH_TEXT_FORMAT: ein ByteArray, das Rich Text Format-Daten enthält
  • URL_FORMAT: ein URL-String (nur AIR)

Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert.

Wenn eine Übertragung zum oder vom Betriebssystem stattfindet, werden die Standardformate automatisch zwischen ActionScript-Datentypen und den Zwischenablagetypen des nativen Betriebssystems übersetzt.

Sie können von der Anwendung definierte Formate verwenden, um einem Clipboard-Objekt ActionScript-Objekte hinzuzufügen. Wenn ein Objekt serialisierbar ist, können sowohl ein Verweis als auch ein Klon des Objekts zur Verfügung gestellt werden. Objektverweise sind nur in der ursprünglichen Anwendung gültig.

Wenn es rechnerisch aufwendig ist, die zu übertragenden Informationen in ein bestimmtes Format zu konvertieren. können Sie den Namen einer Funktion bereitstellen, die die Konvertierung ausführt. Die Funktion wird nur dann aufgerufen, wenn das betreffende Format von der Empfängerkomponente der Anwendung gelesen wird. Mit der setDataHandler()-Methode können Sie einem Clipboard-Objekt eine zurückgestellte Wiedergabefunktion hinzufügen. Beachten Sie, dass in einigen Fällen das Betriebssystem die Funktion aufruft, bevor ein Ablegen erfolgt. Wenn Sie zum Beispiel eine Prozedurfunktion verwenden, um die Daten für eine Datei, die aus einer AIR-Anwendung in das Betriebssystem gezogen wird, bereitzustellen, ruft das Betriebssystem die Datenprozedur auf, sobald die Ziehen-Geste die AIR-Anwendung verlässt. Dies führt normalerweise zu einer unerwünschten Pause, da die Dateidaten heruntergeladen oder erstellt werden.

Hinweis für AIR-Anwendungen: Das Clipboard-Objekt, auf das von den Ereignisobjekten verwiesen wird, welche bei HTML-Ziehen-und-Ablegen- sowie Kopier-und Einfügeereignissen ausgelöst werden, hat nicht denselben Typ wie AIR-Clipboard-Objekte. Das JavaScript-Clipboard-Objekt wird im AIR Entwicklerhandbuch beschrieben.

Hinweis für Flash Player-Anwendungen: In Flash Player 10 erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü). Clipboard.getData() gibt die Inhalte der Zwischenablage nur zurück, wenn das InteractiveObject ein paste-Ereignis erhalten hat und darauf reagiert. Unter anderen Bedingungen ist der Aufruf von Clipboard.getData() erfolglos. Dieselbe Einschränkung gilt in AIR für Inhalte außerhalb der Anwendungssandbox .

Unter Linux werden Daten in der Zwischenablage gelöscht, wenn die AIR-Anwendung geschlossen wird.

Im folgenden Beispiel für Adobe AIR wird die ClipboardExample-Klasse verwendet, um einen String über die Systemzwischenablage von einer Variablen zu einer anderen zu kopieren. Dies wird in den folgenden Schritten erreicht:
  1. Schreiben Sie die Daten, in diesem Fall ein String, in Clipboard.generalClipboard.
  2. Lesen Sie den Inhalt der Zwischenablage aus Clipboard.generalClipboard.

Hinweis: Aufgrund von Sicherheitseinschränkungen beim Zugriff auf Daten in der Zwischenablage funktioniert dieses Beispiel in Flash Player nicht. In Flash Player können Sie die getData()-Methode eines Clipboard-Objekts nur in einer paste-Ereignisprozedur aufrufen.

package { import flash.display.Sprite; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.desktop.ClipboardTransferMode; public class ClipboardExample extends Sprite { public function ClipboardExample() { var sally:String = "Sally"; var person:String; copy(sally); person = paste(); trace(person); //traces: "Sally" } private function copy(text:String):void { Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, text); } private function paste():String { if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) { return String(Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT)); } else { return null; } } } }
flash.desktop.NativeDragManagerflash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferModeClipboard Erstellt ein leeres Clipboard-Objekt.new Clipboard() wird in Flash Player nicht unterstützt, da in Flash Player nur die Zwischenablage des Betriebssystems verwendet werden kann. Verwenden Sie für Kopieren-und-Einfügen-Vorgänge, die die Systemzwischenablage benutzen, das Clipboard.generalClipboard-Objekt, anstatt ein neues Clipboard-Objekt zu erstellen. Gibt in einer AIR-Anwendung keinen Fehler aus. IllegalOperationErrorflash.errors:IllegalOperationError Erstellt ein leeres Clipboard-Objekt.

Erstellen Sie Clipboard-Objekte, um die Daten einer nativen Drag & Drop-Geste in Adobe AIR aufzunehmen. Clipboard-Objekte können nur für eine Drag & Drop-Geste verwendet werden; sie lassen sich nicht wiederverwenden.

Erstellen Sie Clipboard-Objekte nicht für Kopieren-und-Einfügen-Vorgänge. Verwenden Sie stattdessen ein einzelnes Clipboard.generalClipboard-Objekt.

Im folgenden Beispiel wird eine neue Zwischenablage zur Verwendung mit der NativeDragManager-Klasse erstellt.

Hinweis: Verwenden Sie für Kopieren-und-Einfügen-Vorgänge, die die Zwischenablage einbeziehen, das Clipboard.generalClipboard-Objekt, anstatt eine neue Zwischenablage zu erstellen.

import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
generalClipboard
clearData Löscht alle Datendarstellungen für das angegebene Format.In diesem Kontext ist ein Aufruf von generalClipboard.clearData() nicht zulässig. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung. SecurityErrorSecurityErrorformatStringDas zu entfernende Datenformat. Löscht alle Datendarstellungen für das angegebene Format. Im folgenden Beispiel werden alle Daten des Formats ClipboardFormats.TEXT_FORMAT aus der Zwischenablage des Betriebssystems gelöscht: import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT); clear Löscht alle Datendarstellungen aus diesem Clipboard-Objekt.In diesem Kontext ist ein Aufruf von generalClipboard.clear() nicht zulässig. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung. SecurityErrorSecurityError Löscht alle Datendarstellungen aus diesem Clipboard-Objekt. Im folgenden Beispiel wird der Inhalt der Systemzwischenablage gelöscht: Clipboard.generalClipboard.clear(); getData Ruft die Daten in der Zwischenablage ab, falls Daten im angegebenen Format vorhanden sind.transferMode ist keiner der Namen, die in der ClipboardTransferMode-Klasse definiert sind. ErrorErrorDas angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (nur AIR). IllegalOperationErrorflash.errors:IllegalOperationErrorDas Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player kann diese Methode nur während der Verarbeitung eines paste-Ereignisses erfolgreich aufgerufen werden. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung. SecurityErrorSecurityErrorEin Objekt des Typs, der dem Datenformat entspricht. ObjectformatStringDas zurückzugebende Datenformat. Der Formatstring kann einen der Standardnamen, der in der ClipboardFormats-Klasse enthalten ist, oder einen von der Anwendung definierten Namen enthalten. transferModeStringoriginalPreferredGibt an, ob ein Verweis oder eine serialisierte Kopie zurückgegeben werden soll, wenn auf ein von der Anwendung definiertes Datenformat zugegriffen wird. Der Wert muss einer der Namen sein, die in der ClipboardTransferMode-Klasse definiert sind. Dieser Wert wird bei Standarddatenformaten ignoriert und es wird immer eine Kopie zurückgegeben. Ruft die Daten in der Zwischenablage ab, falls Daten im angegebenen Format vorhanden sind.

In Flash Player muss die getData()-Methode in einer paste-Ereignisprozedur aufgerufen werden. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.

Wenn auf ein Standarddatenformat zugegriffen wird, werden die Daten als ein neues Objekt des entsprechenden Flash-Datentyps zurückgegeben.

Wenn auf ein von der Anwendung definiertes Format zugegriffen wird, bestimmt der Wert des transferMode-Parameters, ob ein Verweis auf das ursprüngliche Objekt oder ein anonymes Objekt mit einer serialisierten Kopie des ursprünglichen Objekts zurückgegeben wird. Wenn ein originalPreferred- oder clonePreferred-Modus festgelegt ist, geben Flash Player oder AIR die alternative Version zurück, wenn die ursprüngliche nicht verfügbar ist. Wenn ein originalOnly- oder cloneOnly-Modus festgelegt ist, geben Flash Player oder AIR null zurück, wenn die angeforderte Version nicht verfügbar ist.

Im folgenden Beispiel wird Text aus der Systemzwischenablage gelesen, falls verfügbar: import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
setData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
hasFormat Überprüft, ob in diesem Clipboard-Objekt Daten im angegebenen Format vorhanden sind.Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich. IllegalOperationErrorflash.errors:IllegalOperationErrorDas Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. SecurityErrorSecurityErrortrue, wenn Daten im angegebenen Format vorliegen. BooleanformatStringDer zu überprüfende Formattyp. Überprüft, ob in diesem Clipboard-Objekt Daten im angegebenen Format vorhanden sind.

Verwenden Sie für Verweise auf Standardformatnamen die Konstanten der ClipboardFormats-Klasse.

Im folgenden Beispiel wird die Systemzwischenablage überprüft, um festzustellen, ob textformatierte Daten verfügbar sind: if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
flash.desktop.ClipboardFormats
setDataHandler Fügt eine Prozedurfunktion hinzu, die die zu übertragenden Daten produziert.format oder handler hat den Wert null. TypeErrorTypeErrorDas angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (nur AIR). IllegalOperationErrorflash.errors:IllegalOperationErrorDas Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (z. B. Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung. SecurityErrorSecurityErrortrue, wenn die Prozedur erfolgreich festgelegt wurde; andernfalls false. BooleanformatStringEine Funktion, die die zu übertragenden Daten zurückgibt. handlerFunctionDas Format der Daten. serializableBooleantrueGeben Sie true an, wenn das von handler zurückgegebene Objekt serialisierbar (und deserialisierbar) ist. Fügt eine Prozedurfunktion hinzu, die die zu übertragenden Daten produziert.

Verwenden Sie eine Prozedurfunktion, um die Erstellung oder Wiedergabe der Daten zurückzustellen, bis tatsächlich auf sie zugegriffen wird.

Die Prozedurfunktion muss den entsprechenden Datentyp für das angegebene Format zurückweisen:

FormatRückgabetypClipboardFormats.TEXT_FORMATStringClipboardFormats.HTML_FORMATStringClipboardFormats.URL_FORMATString (nur AIR)ClipboardFormats.RICH_TEXT_FORMATByteArrayClipboardFormats.BITMAP_FORMATBitmapData (nur AIR)ClipboardFormats.FILE_LIST_FORMATArray von File (nur AIR)ClipboardFormats.FILE_PROMISE_LIST_FORMATArray von File (nur AIR)Benutzerdefinierter FormatnameNicht ungültig

Die Prozedurfunktion wird nur dann aufgerufen, wenn die Daten im angegebenen Format gelesen werden. Beachten Sie, dass in einigen Fällen das Betriebssystem die Funktion aufruft, bevor ein Ablegen erfolgt. Wenn Sie zum Beispiel eine Prozedurfunktion verwenden, um die Daten für eine Datei, die aus einer AIR-Anwendung in das Betriebssystem gezogen wird, bereitzustellen, ruft das Betriebssystem die Datenprozedur auf, sobald die Ziehen-Geste die AIR-Anwendung verlässt. Dies führt normalerweise zu einer unerwünschten Pause, da die Dateidaten heruntergeladen oder erstellt werden. Sie können stattdessen eine URLFilePromise zu diesem Zweck verwenden.

Beachten Sie, dass die zugrunde liegenden Daten zwischen dem Hinzufügen der Prozedur und dem Lesen der Daten geändert werden können, falls Ihre Anwendung die Daten nicht schützt. Das Verhalten, das auftritt, wenn durch eine Prozedurfunktion dargestellte Daten in der Zwischenablage mehrmals gelesen werden, kann nicht garantiert werden. Die Zwischenablage gibt entweder die Daten zurück, die durch den ersten Funktionsaufruf generiert wurden, oder die Funktion wird erneut aufgerufen. Keine der beiden Verhaltensweisen kann garantiert werden.

In der Anwendungssandbox von Adobe AIR kann setDataHandler() jederzeit aufgerufen werden. In anderen Kontexten kann setDataHandler() nur als Reaktion auf ein vom Benutzer generiertes Ereignis, zum Beispiel Tastenbetätigung oder Mausklick, aufgerufen werden.

Wenn Sie diesem Clipboard-Objekt Daten direkt hinzufügen möchten, verwenden Sie stattdessen die setData()-Methode. Wenn sowohl die setData()- als auch die setDataHandler()-Methode mit demselben Formatnamen aufgerufen wird, wird die Prozedurfunktion nie aufgerufen.

Hinweis: Wenn Sie auf Mac OS den format-Parameter auf ClipboardFormats.URL_FORMAT setzen, wird die URL nur übertragen, wenn die Prozedurfunktion eine gültige URL zurückgibt. Andernfalls wird das Clipboard-Objekt geleert (und das Aufrufen von getData() ergibt null).

Im folgenden Beispiel wird der Systemzwischenablage über eine zurückgestellte Datenfunktion eine zufällige Zahl hinzugefügt: import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
setData()flash.desktop.ClipboardFormatsflash.desktop.URLFilePromise
setData Fügt eine Darstellung der Informationen hinzu, die in das angegebene Datenformat übertragen werden sollen.Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (was passieren kann, wenn Zwischenablagen für Drag-and-Drop-Vorgänge erstellt werden). IllegalOperationErrorflash.errors:IllegalOperationErrorDas Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung. SecurityErrorSecurityErrorformat oderdata hat den Wert null. TypeErrorTypeErrortrue, wenn die Daten erfolgreich festgelegt wurden; andernfalls false. Gibt in Flash Player den Wert false zurück, wenn format ein nicht unterstütztes Mitglied der ClipboardFormats-Klasse ist. (Flash Player unterstützt nicht ClipboardFormats.URL_FORMAT, ClipboardFormats.FILE_LIST_FORMAT, ClipboardFormats.FILE_PROMISE_LIST_FORMAT oder ClipboardFormats.BITMAP_FORMAT). BooleanformatStringDas Format der Daten. dataObjectDie hinzuzufügenden Informationen. serializableBooleantrueGeben Sie true an für Objekte, die serialisiert (und deserialisiert) sein können. Fügt eine Darstellung der Informationen hinzu, die in das angegebene Datenformat übertragen werden sollen.

In der Anwendungssandbox von Adobe AIR kann setData() jederzeit aufgerufen werden. In anderen Kontexten kann setData() nur als Reaktion auf ein vom Benutzer generiertes Ereignis, zum Beispiel Tastenbetätigung oder Mausklick, aufgerufen werden.

Verschiedene Darstellungen derselben Informationen können der Zwischenablage in verschiedenen Formaten hinzugefügt werden, sodass anderen Komponenten oder Anwendungen die verfügbaren Daten mit größerer Wahrscheinlichkeit nutzen können. Ein Bild kann zum Beispiel in Form von Bitmapdaten für Bildbearbeitungsanwendungen hinzufügt werden, als URL und als codierte PNG-Datei für die Übertragung in das native Dateisystem.

Der data-Parameter muss den entsprechenden Datentyp für das angegebene Format aufweisen:

FormatTypBeschreibungClipboardFormats.TEXT_FORMATStringStringdatenClipboardFormats.HTML_FORMATStringHTML-StringdatenClipboardFormats.URL_FORMATStringURL-String (nur AIR)ClipboardFormats.RICH_TEXT_FORMATByteArrayRich Text Format-DatenClipboardFormats.BITMAP_FORMATBitmapDataBitmapdaten (nur AIR)ClipboardFormats.FILE_LIST_FORMATArray von Fileein Dateiarray (nur AIR)Benutzerdefinierter FormatnamebeliebigObjektverweis und serialisierter Klon

Benutzerdefinierte Formatnamen dürfen nicht mit „air:“ oder „flash:“ beginnen. Um Konflikte bei der Benennung zu vermeiden, wenn Sie benutzerdefinierte Formate verwenden, können Sie die Anwendungs-ID oder einen Paketnamen als Präfix für den Formatnamen verwenden, zum Beispiel „com.example.applicationName.dataPacket“.

Beim Übertragen innerhalb von oder zwischen Anwendungen bestimmt der serializable-Parameter, ob sowohl ein Verweis und eine Kopie verfügbar sind, oder ob nur ein Verweis auf ein Objekt verfügbar ist. Stellen Sie serializable auf true, damit sowohl ein Verweis als auch eine Kopie der Daten verfügbar sind. Stellen Sie serializable auf false, damit nur der Objektverweis verfügbar ist. Objektverweise sind nur innerhalb der aktuellen Anwendung gültig, sodass die Einstellung von serializable auf false auch bedeutet, dass die Daten in diesem Format nicht für andere Flash Player- oder AIR-Anwendungen verfügbar sind. Eine Komponente kann wahlweise den Verweis oder die Objektkopie abrufen, indem der entsprechende Übertragungsmodus für die Zwischenablage eingestellt wird, wenn auf die Daten für dieses Format zugegriffen wird.

Hinweis: Die Standardformate werden immer in native Formate konvertiert, wenn Daten außerhalb einer unterstützten Anwendung eingefügt oder gezogen werden, sodass der Wert des serializable-Parameters keinen Einfluss auf die Verfügbarkeit der Daten in Standardformaten für nicht Flash-basierte Anwendungen hat.

Verwenden Sie stattdessen die setDataHandler()-Methode, um die Wiedergabe von Daten eines bestimmten Formats zurückzustellen. Wenn sowohl die setData()- als auch die setDataHandler()-Methode verwendet wird, um eine Datendarstellung mit demselben Formatnamen hinzuzufügen, wird die Prozedurfunktion nie aufgerufen.

Hinweis: Wenn Sie auf Mac OS den format-Parameter auf ClipboardFormats.URL_FORMAT setzen, wird die URL nur übertragen, wenn es sich um eine gültige URL handelt. Andernfalls wird das Clipboard-Objekt geleert (und das Aufrufen von getData() ergibt null).

Im folgenden Beispiel werden der Systemzwischenablage Inhalte im Text- und HTML-Format hinzugefügt: import flash.desktop.ClipboardFormats; var htmlString:String = "<html><body>Body content</body></html>"; Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, urlString); Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, urlString);
setDataHandler()getData()flash.desktop.ClipboardFormatsflash.desktop.ClipboardTransferMode
formats Ein Array von Strings, das die Namen der Datenformate enthält, die in diesem Clipboard-Objekt verfügbar sind.Array Ein Array von Strings, das die Namen der Datenformate enthält, die in diesem Clipboard-Objekt verfügbar sind.

Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert. Auch andere durch die Anwendung definierte Strings können als Formatnamen für die Übertragung von Daten als Objekt verwendet werden.

Im folgenden Beispiel wird das formats-Array der Systemzwischenablage gelesen: var availableFormats:Array = Clipboard.generalClipboard.formats;
flash.desktop.ClipboardFormats
generalClipboard Die Zwischenablage des Betriebssystems.flash.desktop:Clipboard Die Zwischenablage des Betriebssystems.

Alle Daten, die in die Zwischenablage kopiert werden, sind für andere Anwendungen verfügbar. Dazu kann auch unsicherer Remotecode gehören, der in einem Webbrowser ausgeführt wird.

Hinweis: In Flash Player 10-Anwendungen erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü). Clipboard.getData() gibt die Inhalte der Zwischenablage nur zurück, wenn das InteractiveObject ein paste-Ereignis erhalten hat und darauf reagiert. Unter anderen Bedingungen ist der Aufruf von Clipboard.getData() erfolglos. Dieselbe Einschränkung gilt in AIR für Inhalte außerhalb der Anwendungssandbox .

Das generalClipboard-Objekt wird automatisch erstellt. Sie können dieser Eigenschaft keine weitere Clipboard-Instanz zuweisen. Verwenden Sie stattdessen die Methoden getData() und setData(), um Daten in das vorhandene Objekt zu schreiben bzw. daraus zu lesen.

Sie sollten die Zwischenablage immer leeren, bevor Sie neue Daten hineinschreiben, um sicher zu sein, dass alte Daten aller Formate gelöscht wurden.

Das generalClipboard-Objekt kann nicht an den AIR-NativeDragManager übergeben werden. Erstellen Sie ein neues Clipboard-Objekt für native Drag&Drop-Operationen in einer AIR-Anwendung.

Schreiben in die Betriebssystemzwischenablage: import flash.desktop.ClipboardFormats; var copy:String = "A string to copy to the system clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy); Lesen aus der Betriebssystemzwischenablage: import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
supportsFilePromise Gibt an, ob das Zwischenablageformat der Dateizusage vom Clientsystem unterstützt wird.Boolean Gibt an, ob das Zwischenablageformat der Dateizusage vom Clientsystem unterstützt wird.
NotificationType Die NotificationType-Klasse definiert Konstanten für die Verwendung im priority-Parameter der bounce()-Methode von DockIcon und im type-Parameter der notifyUser()-Methode von NativeWindow.Object Die NotificationType-Klasse definiert Konstanten für die Verwendung im priority-Parameter der bounce()-Methode von DockIcon und im type-Parameter der notifyUser()-Methode von NativeWindow. flash.desktop.DockIcon.bounce()flash.display.NativeWindow.notifyUser()CRITICAL Legt fest, dass eine Benachrichtigung eine kritische Benachrichtigung ist und der Benutzer sofort darauf reagieren sollte.criticalString Legt fest, dass eine Benachrichtigung eine kritische Benachrichtigung ist und der Benutzer sofort darauf reagieren sollte. INFORMATIONAL Legt fest, dass eine Benachrichtigung eine Informationsbenachrichtigung ist und vom Benutzer ignoriert werden kann.informationalString Legt fest, dass eine Benachrichtigung eine Informationsbenachrichtigung ist und vom Benutzer ignoriert werden kann. IFilePromise Die IFilePromise-Schnittstelle definiert die Schnittstelle, die von der AIR-Laufzeitumgebung verwendet wird, um Daten für eine Dateizusage zu lesen. Die IFilePromise-Schnittstelle definiert die Schnittstelle, die von der AIR-Laufzeitumgebung verwendet wird, um Daten für eine Dateizusage zu lesen.

Eine Dateizusage ist ein Drag-and-Drop-Zwischenablageformat, das es einem Benutzer ermöglicht, eine Datei, die noch nicht vorhanden ist, aus einer AIR-Anwendung zu ziehen. AIR verwendet die Methoden und Eigenschaften, die von der IFilePromise-Schnittstelle definiert werden, um auf die zu schreibenden Daten zuzugreifen, wenn die Dateizusage abgelegt wird.

Wenn eine Dateizusage auf einem geeigneten Ziel abgelegt wird, ruft AIR die open()-Methode von IFilePromise auf. Die Implementierung dieser Methode muss den Datenprovider als ein Objekt, das die IDataInput-Schnittstelle implementiert, zurückgeben. Das Providerobjekt kann eine der integrierten Klassen sein, zum Beispiel ByteArray, FileStream, Socket und URLStream, oder eine benutzerdefinierte Klasse.

Wenn synchron auf die Daten vom Datenprovider zugegriffen wird, wie zum Beispiel bei einem ByteArray, liest AIR die Menge der Daten, die von der bytesAvailable-Eigenschaft von IDataInput angegeben wird, und schreibt sie in die Zieldatei.

Wenn asynchron auf die Daten vom Datenprovider zugegriffen wird, wie zum Beispiel bei einem Socket, verwendet AIR die Ereignisse, die vom Provider abgesetzt werden, um den Datenleseprozess zu steuern und die Daten in die Datei zu schreiben. Daten werden bei jedem Fortschrittsereignis gelesen, bis ein complete- oder close-Ereignis empfangen wird. Die Laufzeitumgebung wartet auf die folgenden Ereignisse (ein Datenprovider muss jedoch nicht jedes Ereignis absetzen):

  • Event.OPEN
  • ProgressEvent.PROGRESS
  • ProgressEvent.SOCKET_DATA
  • Event.COMPLETE
  • Event.CLOSE
  • IOErrorEvent.IOERROR
  • SecurityErrorEvent.SECURITY_ERROR
  • HTTPStatusEvent.HTTP_STATUS
  • HTTPStatusEvent.HTTP_RESPONSE_STATUS

Benutzerdefinierte Datenproviderklassen sollten entweder ein progress-Ereignis oder ein socketData-Ereignis absetzen, wenn Daten verfügbar sind. Desgleichen sollte entweder ein complete oder ein close-Ereignis abgesetzt werden, wenn alle erforderlichen Daten gelesen wurden. Die Fehlerereignisse informieren die Laufzeitumgebung darüber, dass die Datenübertragung fehlgeschlagen ist und abgebrochen werden sollte. Die anderen Ereignisse sollten wie angebracht abgesetzt werden, um bei der Fehlerverarbeitung und beim Debugging der Anwendungslogik helfen.

Die von IFilePromise definierten Methoden sind nur dazu gedacht, von der AIR-Laufzeitumgebung aufgerufen zu werden, nachdem ein Drag-and-Drop-Vorgang abgeschlossen wurde. Entwickler sollten diese Methoden normalerweise nicht aus ihrem eigenen Code aufrufen.

Hinweis: Die URLFilePromise-Klasse, verfügbar in der air.desktop-Bibliothek, implementiert die IFilePromise-Schnittstelle und verwendet den URLStream als Datenprovider. Die air.desktop-Bibliothek ist in Form separater SWF- und SWC-Dateien im AIR-SDK verfügbar.

flash.desktop.Clipboardflash.desktop.ClipboardFormatsflash.desktop.NativeDragManagerclose Wird von der AIR-Laufzeitumgebung aufgerufen, wenn diese alle Daten gelesen hat. Wird von der AIR-Laufzeitumgebung aufgerufen, wenn diese alle Daten gelesen hat.

Es werden keine Methoden für den Objektverweis aufgerufen, der von der open()-Methode zurückgegeben wird, nachdem die close()-Methode aufgerufen wurde. Das Datenproviderobjekt kann sicher gelöscht werden.

open Gibt das Dataprovider-Objekt zurück.IDataInput Ein Objekt, das die IDataInput-Schnittstelle implementiert. Wenn die Daten asynchron bereitgestellt werden, muss das zurückgegebene Objekt ebenfalls die IEventDispatcher-Schnittstelle implementieren. flash.utils:IDataInput Gibt das Dataprovider-Objekt zurück.

Das Datenproviderobjekt muss die IDataInput-Schnittstelle implementieren, die Methoden zum Lesen der Daten definiert. Wenn die isAsync-Eigenschaft von IFilePromise true zurückgibt, muss das Datenproviderobjekt ebenfalls die IEventDispatcher-Schnittstelle implementieren. Die folgenden integrierten Klassen können als Datenprovider verwendet werden:

  • ByteArray (synchron)
  • FileStream (synchron oder asynchron)
  • Socket (asynchron)
  • URLStream (asynchron)

Sie können auch ein Objekt einer benutzerdefinierten Klasse bereitstellen, die die erforderlichen Schnittstellen implementiert (oder eine andere Klasse erweitert, die sie implementiert).

reportError Wird von der AIR-Laufzeitumgebung aufgerufen, um die IFilePromise-Implementierung über Fehler zu informieren, die beim Lesen von Daten aus dem Dataprovider-Objekt auftreten.eflash.events:ErrorEventDas Fehlerereignis, das ausführliche Fehlerinformationen enthält. Wird von der AIR-Laufzeitumgebung aufgerufen, um die IFilePromise-Implementierung über Fehler zu informieren, die beim Lesen von Daten aus dem Dataprovider-Objekt auftreten. isAsync Gibt an, ob die asynchrone Datenübertragung unterstützt wird.Boolean Gibt an, ob die asynchrone Datenübertragung unterstützt wird.

Bei dem Wert true muss das von der open()-Methode zurückgegebene Datenproviderobjekt die IEventDispatcher-Schnittstellen implementieren (oder eine Klasse erweitern, die diese Schnittstelle implementiert). Die Datenübertragung wird von progress- oder socketData-Ereignissen ermöglicht. AIR wartet auf diese Datenfortschrittereignisse, bis ein complete- oder ein close-Ereignis abgesetzt wird.

Wenn isAsync den Wert „false“ zurückgibt, geht die AIR-Laufzeitumgebung davon aus, dass alle Daten sofort verfügbar sind. In diesem Fall liest die Laufzeitumgebung die bytesAvailable-Eigenschaft des Datenproviderobjekts, um die verfügbare Datenmenge zu bestimmen, und liest diese Datenmenge synchron.

relativePath Der relative Pfad und der Dateiname der Datei, die von dieser Dateizusage erstellt wird.Stringfalls der relative Pfad ..- Abkürzungen verwendet, um ein oder mehrere übergeordnete Verzeichnisse des Ablageziels zu durchlaufen. ArgumentErrorArgumentError Der relative Pfad und der Dateiname der Datei, die von dieser Dateizusage erstellt wird.

Diese Eigenschaft muss einen gültigen Pfad bereitstellen oder es wird ein Argumentfehler ausgegeben, wenn die Dateizusage abgelegt wird.

Der Pfad kann Unterverzeichnisse enthalten, die basierend auf dem Ablegeziel aufgelöst werden. Die Unterverzeichnisse werden erstellt, falls erforderlich. Wenn Unterverzeichnisse einbezogen werden, verwenden Sie die File.separator-Konstante, um das richtige Pfadtrennzeichen für das aktuelle Betriebssystem einzufügen. Die Verwendung der Kurzform .., um zu einem übergeordneten Verzeichnis zu navigieren, ist nicht zulässig. Bei einem Versuch wird ein Argumentfehler ausgegeben. Ungültige Dateisystemzeichen werden aus dem Pfad entfernt, ohne dass ein Fehler ausgegeben wird.

Hinweis: Damit Client-Code den Pfad festlegen kann, können Sie eine Setter-Funktion mit der folgenden Signatur implementieren: function set relativePath( value:String ):void.

NativeProcessStartupInfo Diese Klasse stellt die grundlegenden Informationen bereit, um einen Prozess auf dem Host-Betriebssystem zu starten.Object Diese Klasse stellt die grundlegenden Informationen bereit, um einen Prozess auf dem Host-Betriebssystem zu starten. Sie wird konstruiert und an die start()-Methode eines NativeProcess-Objekts übergeben.

Der Zugriff auf native Prozesse ist nur bei AIR-Anwendungen verfügbar, die mit nativen Installationsprogrammen installiert wurden (Anwendungen im Profil „erweiterter Desktop“).

NativeProcess.html#start()NativeProcessStartupInfo Konstruiert ein leeres NativeProcessStartupInfo-Objekt. Konstruiert ein leeres NativeProcessStartupInfo-Objekt. arguments Die Befehlszeilenargumente, die beim Start an den Prozess übergeben werden. Die Befehlszeilenargumente, die beim Start an den Prozess übergeben werden.

Jeder String im arguments-Vektor wird als separates Argument an die ausführbare Datei übergeben, unabhängig davon, welche Zeichen der String enthält. Anders ausgedrückt, es gibt eine exakte Eins-zu-Eins-Entsprechung, es erfolgt keine Neuinterpretation. AIR stellt Zeichen, bei denen dies erforderlich ist (zum Beispiel Leerzeichen), automatisch ein Maskierungszeichen voran.

executable Das File-Objekt, das auf eine ausführbare Datei auf dem Host-Betriebssystem verweist.flash.filesystem:Filewenn der angegebene Wert null ist, wenn er auf ein Verzeichnis verweist oder wenn er auf eine nicht vorhandene Datei verweist. ArgumentErrorArgumentError Das File-Objekt, das auf eine ausführbare Datei auf dem Host-Betriebssystem verweist. Dies sollte der vollständige Pfad zur der ausführbaren Datei sein, einschließlich der ggf. erforderlichen Erweiterung.

Hinweis: Um unter Mac OS eine ausführbare Datei innerhalb eines Anwendungspakets zu starten, muss der Pfad des File-Objekts den vollständigen Pfad der ausführbaren Datei (innerhalb des Pakets) enthalten, nicht nur den Pfad zu der Anwendungsdatei.

workingDirectory Das File-Objekt, das auf das anfängliche Arbeitsverzeichnis für den neuen nativen Prozess verweist.flash.filesystem:Filewenn der Wert nicht vorhanden ist oder kein Verzeichnis ist ArgumentErrorArgumentError Das File-Objekt, das auf das anfängliche Arbeitsverzeichnis für den neuen nativen Prozess verweist. Wenn ein Wert zugewiesen wird, bei dem isDirectory „false“ ist, wird ein ArgumentError ausgegeben.
SystemIdleMode Die SystemIdleMode-Klasse stellt Konstantenwerte für Systemleerlaufverhalten bereit.Object Die SystemIdleMode-Klasse stellt Konstantenwerte für Systemleerlaufverhalten bereit. Diese Konstanten werden in der systemIdleMode-Eigenschaft der NativeApplication-Klasse verwendet. flash.desktop.NativeApplication.systemIdleModeKEEP_AWAKE Verhindert, dass das System in den Leerlaufmodus wechselt.keepAwakeString Verhindert, dass das System in den Leerlaufmodus wechselt.

Unter Android muss die Anwendung die Android-Berechtigungen für DISABLE_KEYGUARD und WAKE_LOCK im Anwendungsdeskriptor spezifizieren, andernfalls beachtet das Betriebssystem diese Einstellung nicht.

NORMAL Das System folgt dem normalen Verhalten bei inaktivem Benutzer.normalString Das System folgt dem normalen Verhalten bei inaktivem Benutzer.
ClipboardTransferMode Die ClipboardTransferMode-Klasse definiert Konstanten für die Modi, die als Werte für den transferMode-Parameter der Clipboard.getData()-Methode verwendet werden.Definiert Konstanten für die Zwischenablageübertragungsmodi. Object Die ClipboardTransferMode-Klasse definiert Konstanten für die Modi, die als Werte für den transferMode-Parameter der Clipboard.getData()-Methode verwendet werden.

Der Übertragungsmodus gibt einen Hinweis darauf, ob ein Verweis oder eine Kopie zurückgegeben werden soll, wenn auf ein in der Zwischenablage enthaltenes Objekt zugegriffen wird.

flash.desktop.Clipboard.getData()CLONE_ONLY Das Clipboard-Objekt sollte nur eine Kopie zurückgeben.cloneOnlyString Das Clipboard-Objekt sollte nur eine Kopie zurückgeben. CLONE_PREFERRED Das Clipboard-Objekt gibt eine Kopie zurück, falls verfügbar, und einen Verweis, falls nicht.clonePreferredString Das Clipboard-Objekt gibt eine Kopie zurück, falls verfügbar, und einen Verweis, falls nicht. ORIGINAL_ONLY Das Clipboard-Objekt sollte nur einen Verweis zurückgeben.originalOnlyString Das Clipboard-Objekt sollte nur einen Verweis zurückgeben. ORIGINAL_PREFERRED Das Clipboard-Objekt gibt einen Verweis zurück, falls verfügbar, und eine Kopie, falls nicht.originalPreferredString Das Clipboard-Objekt gibt einen Verweis zurück, falls verfügbar, und eine Kopie, falls nicht.
NativeDragManager Die NativeDragManager-Klasse koordiniert Drag & Drop-Vorgänge.Object Die NativeDragManager-Klasse koordiniert Ziehen-und-Ablegen-Vorgänge. Mit der nativen Ziehen-und-Ablegen-API können Sie es dem Benutzer ermöglichen, Daten durch Ziehen und Ablegen zwischen einer AIR-Anwendung und dem nativen Betriebssystem, zwischen zwei Anwendungen oder zwischen Komponenten einer einzelnen Anwendung zu kopieren.

Die folgenden Datentypen können übertragen werden:

  • Bitmaps
  • Dateien
  • Text
  • URL-Strings
  • Serialisierte Objekte
  • Objektverweise (nur gültig in der ursprünglichen Anwendung)

Hinweis: Alle NativeDragManager-Mitglieder sind statisch. Es muss keine Instanz dieser Klasse erstellt werden.

Ein Ziehen-und-Ablegen-Vorgang ist eine Bewegung auf der Benutzeroberfläche, die mit dem Klicken auf ein sichtbares Element beginnt, das dann an eine andere Position gezogen wird. Während der Ziehbewegung durch das AIR-Anwendungsfenster lösen interaktive Objekte in der Anzeigeliste native Ziehereignisse aus. Prozeduren für diese Ereignisse können Methoden der NativeDragManager-Klasse aufrufen, um anzuzeigen, ob das gezogene Element auf einem anderen Objekt abgelegt werden kann. Daraufhin ändert der NativeDragManager den Mauszeiger, sodass der Benutzer informiert wird.

AIR-Profilunterstützung: Diese Funktion wird auf Geräten mit AIR für TV nicht unterstützt. Des Weiteren wird sie nicht auf allen mobilen Geräten unterstützt. Mit der NativeDragManager.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Ziehen-Aktionen

Ziehen-und-Ablegen-Bewegungen werden normalerweise für drei Arten von Vorgängen, Aktionen genannt, verwendet. Da die Bedeutung dieser Aktionen vom Anwendungskontext abhängig ist, wird zur Laufzeit kein bestimmtes Verhalten bezüglich der Aktionen erzwungen. Mit der richtigen Implementierung der Aktionen können Sie die Benutzerfreundlichkeit der Anwendung jedoch verbessern.

Mögliche Aktionen sind:

  • Kopieren: Es wird eine Kopie der Daten erstellt. Das Original bleibt unverändert. (Beim Ziehen von Objekten innerhalb einer Anwendung sollte darauf geachtet werden, dass das Originalobjekt selbst und nicht ein Verweis auf dieses Objekt kopiert wird.)
  • Verschieben: Die Daten werden aus dem ursprünglichen Kontext in den vom Drop-Ziel definierten Kontext verschoben, zum Beispiel wenn ein Element aus einer Liste in eine andere verschoben wird.
  • Verknüpfen: Es wird ein Verweis auf die Originaldaten oder eine Verknüpfung damit erstellt. Das Element verbleibt dabei in seinem ursprünglichen Kontext.

Die zulässigen Aktionen können für eine Ziehbewegung festgelegt werden, indem ein allowedActions-Parameter an den NativeDragManager.doDrag()-Aufruf übergeben wird, der den Ziehvorgang startet. Wenn kein allowedActions-Parameter angegeben wird, sind alle Aktionen zulässig. Potenzielle Drop-Ziele können anhand der allowedActions-Eigenschaft eines NativeDragEvent-Objekts überprüfen, welche Aktionen zulässig sind, und sollten kein Ablegen akzeptieren, das nur inkompatible Aktionen zulässt (dies wird von der Laufzeitumgebung jedoch nicht erzwungen).

Wenn ein Ablageziel nur eine einzelne Aktion implementiert, kann das Objekt die dropAction-Eigenschaft von NativeDragManager sowohl in den Prozeduren für nativeDragEnter- als auch für nativeDragOver-Ereignisse setzen. Wird die Eigenschaft vor dem Ablegen gesetzt, kann der Ziehmanager den Mauszeiger aktualisieren, sodass die unterstützte Aktion angegeben wird und Benutzer davon abgehalten werden, mit Zusatztasten eine nicht unterstützte Aktion zu wählen. Handelt es sich bei der festgelegten Aktion nicht um eine der folgenden, so ist das Ablegen nicht erlaubt, selbst wenn das Ziel die acceptDrop()-Methode aufruft.

Wenn das Ablegen akzeptiert wird, sollte ein potenzielles Ablageziel die gewählte Aktion anzeigen, indem die NativeDragManager.dropAction-Eigenschaft als Antwort auf das nativeDragDrop-Ereignis gesetzt wird. Diese Aktion wird im nativeDragComplete-Ereignis an das auslösende Anzeigeobjekt gemeldet. Wenn von einem Ablageziel keine Aktion festgelegt wurde, wird aus der Liste der zulässigen Aktionen in der folgenden Reihenfolge eine Standardaktion gewählt: Kopieren, Verschieben, Verknüpfen. Das auslösende Objekt ist für die Aktualisierung des internen Status als Folge der gewählte Aktion zuständig.

Stringkonstanten für die Aktionsnamen sind in der NativeDragActions-Klasse definiert.

Reihenfolge der Ereignisse

Die Ziehbewegung beginnt mit dem Aufruf der NativeDragManager.doDrag()-Methode innerhalb einer mouseDown- oder mouseMove-Ereignisprozedur und wird in Reaktion auf Benutzeraktionen in der folgenden Ereignisreihenfolge fortgesetzt:

  • nativeDragStart-Ereignis: Wenn NativeDragManager.doDrag() aufgerufen wird, wird das als Parameter an die Methode übergebene interaktive Objekt zum Initiatorobjekt und löst ein nativeDragStart-Ereignis aus.
  • nativeDragUpdate-Ereignis: Während des Ziehens löst das Initiatorobjekt kontinuierlich nativeDragUpdate-Ereignisse aus.
  • nativeDragEnter-, nativeDragOver-Ereignisse: Wenn eine Ziehbewegung über ein interaktives Objekt verläuft, löst dieses Objekt ein nativeDragEnter-Ereignis aus. Verweilt die Ziehbewegung über dem interaktiven Objekt, löst dieses kontinuierlich nativeDragOver-Ereignisse aus. Als Antwort auf jedes dieser Ereignisse sollte ein Objekt, das ein potenzielles Drop-Ziel ist, die Eigenschaften des Ereignisobjekts überprüfen, um festzustellen, ob das Ablegen akzeptiert werden kann. Wenn das Datenformat und die zulässigen Aktionen geeignet sind, muss die Ereignisprozedur für diese Ereignisse NativeDragManager.acceptDrop() aufrufen und dabei einen Verweis auf das Anzeigeobjekt übergeben, das als Ablageziel dient (normalerweise das Objekt, das das nativeDragEnter- oder nativeDragEnter-Ereignis ausgelöst hat). Der Benutzer kann das gezogene Element auf dem Ziel ablegen.
  • nativeDragExit-Ereignis: Wenn eine Ziehbewegung über ein interaktives Objekt hinaus verläuft, löst das Objekt ein nativeDragExit-Ereignis aus. Wenn das Objekt von einem früheren Aufruf der NativeDragManager.acceptDrop()-Methode als Ablageziel bestimmt wurde, ist dieser Aufruf nicht mehr gültig und acceptDrop() muss erneut aufgerufen werden, wenn die Bewegung wieder über das interaktive Objekt verläuft.
  • nativeDragDrop-Ereignis: Das Zielanzeigeobjekt löst ein nativeDragDrop-Ereignis aus, wenn der Benutzer die Maustaste über dem Objekt loslässt. Die Prozedur für dieses Ereignis kann auf die Daten in der transferable-Eigenschaft des Ereignisobjekts zugreifen und sollte die NativeDragManager.dropAction-Eigenschaft setzen, um anzugeben, welche Aktion vom Initiatorobjekt ausgeführt werden sollte.
  • nativeDragComplete: Wenn der Benutzer am Ende einer Ziehbewegung die Maustaste loslässt, löst das Initiatorobjekt ein nativeDragComplete-Ereignis aus (unabhängig davon, ob das Element tatsächlich abgelegt wird oder nicht). Die Prozedur für dieses Ereignis kann die dropAction-Eigenschaft des Ereignisobjekts überprüfen, um festzustellen, welche Änderungen am internen Datenstatus vorgenommen werden sollten, zum Beispiel das Entfernen eines Elements aus einer Liste, nachdem es in eine andere Liste gezogen wurdet. Wenn dropAction die Einstellung NativeDragActions.NONE hat, wurde das gezogene Element nicht auf einem geeigneten Ziel abgelegt.

Bewegungen zwischen Anwendungen

Wenn ein Element aus einer Nicht-AIR-Anwendung in ein AIR-Anwendungsfenster gezogen wird, gibt es kein Initiatorobjekt, das die Ereignisse nativeDragStart oder nativeDragComplete auslösen könnte. Davon abgesehen folgen die während der Bewegung ausgelösten Ereignisse demselben Muster wie bei einer Bewegung, die innerhalb derselben AIR-Anwendung stattfindet.

Wenn ein Element aus einem AIR-Anwendungsfenster hinausgezogen wird, gibt es kein Zielobjekt, das die Ereignisse nativeDragEnter, nativeDragOver oder nativeDragDrop auslösen könnte. Das Initiatorobjekt löst dennoch ein nativeDragComplete-Ereignis aus, das die vom nativen Betriebssystem festgelegte Ziehaktion meldet (oder none, falls das Ablegen des Elements nicht akzeptiert wurde).

Wenn ein Element aus einer AIR-Anwendung in eine andere gezogen wird, lösen die Initiator- und Zielanzeigeobjekte wie gewohnt Ereignisse in den jeweiligen Anwendungen aus.

Übertragen von Informationen

Die Daten, die beim Ziehen und Ablegen übertragen werden, sind in einem Clipboard-Objekt enthalten. Dieses Datenobjekt wird dem Ziehvorgang mit der NativeDragManager.doDrag()-Methode hinzugefügt, die die Ziehbewegung startet. Potenzielle Ablageziele können auf das Clipboard-Objekt über die clipboard-Eigenschaft des nativen Ziehereignisobjekts zugreifen. Nachdem ein Ziehvorgang begonnen hat, kann nur über die Ereignisprozedur des NativeDragEvent auf das Clipboard-Objekt zugegriffen werden. Bei allen anderen Zugriffsversuchen auf das Objekt kommt es zu einem Laufzeitfehler.

Sicherheitserwägungen

Die Sicherheits-Sandboxen des Initiator- und des potenziellen Zielobjekts bestimmen, wie auf die gezogenen Daten zugegriffen werden kann. Wenn sich beide Objekte in derselben Sandbox befinden, kann von jedem NativeDragEvent-Objekt auf die Daten zugegriffen werden. Befinden sich die Initiator- und Zielobjekte dagegen in unterschiedlichen Sandboxen, kann nur in der Ziel-Sandbox innerhalb der Ereignisprozedur für das nativeDragDrop-Ereignis auf die Daten zugegriffen werden. Andere native Ziehereignisprozeduren können weiterhin auf das in der clipboard-Eigenschaft referenzierte Clipboard-Objekt zugreifen und ermitteln, welche Datenformate verfügbar sind. Das Aufrufen der clipboard.getData()-Methode löst jedoch einen Sicherheitsfehler aus.

flash.events.NativeDragEventflash.desktop.NativeDragActionsflash.desktop.NativeDragOptionsflash.desktop.ClipboardacceptDragDrop Informiert das NativeDragManager-Objekt , dass das angegebene interaktive Zielobjekt das Ablegen entsprechend des aktuellen Ziehereignisses akzeptiert.targetflash.display:InteractiveObject Informiert das NativeDragManager-Objekt , dass das angegebene interaktive Zielobjekt das Ablegen entsprechend des aktuellen Ziehereignisses akzeptiert.

Diese Methode sollte nur aufgerufen werden, wenn es im angegebenen Zielobjekt eine nativeDragDrop-Prozedur gibt, die mindestens eines der Datenformate des gezogenen Elements und mindestens eine der zulässigen Aktionen verarbeiten kann.

Diese Funktion kann nur innerhalb einer nativeDragEnter- oder nativeDragOver-Ereignisprozedur aufgerufen werden.

doDrag Startet einen Ziehen-und-Ablegen-Vorgang.dragInitiatorflash.display:InteractiveObjectNormalerweise das Objekt, bei dem die Ziehbewegung begann. Empfängt die nativeDragStart- und nativeDragComplete-Ereignisse. clipboardflash.desktop:ClipboardDas Containerobjekt für die gezogenen Daten. dragImageflash.display:BitmapDatanullEin optionales Proxybild, das während der Ziehbewegung unter dem Mauszeiger angezeigt wird. Bei der Einstellung null wird kein Bild angezeigt. offsetflash.geom:PointnullDer Versatz zwischen dem Maus-Hotspot und der linken oberen Ecke des Ziehbilds. Bei negativen Koordinaten wird das Bild in Relation zum Hotspot nach links oben verschoben. Bei der Einstellung null ist die linke obere Ecke des Ziehbilds beim Maus-Hotspot platziert. allowedActionsflash.desktop:NativeDragOptionsnullBeschränkt die für diesen Vorgang zulässigen Ziehen-und-Ablegen-Aktionen. Bei der Einstellung null sind alle Aktionen zulässig. Startet einen Ziehen-und-Ablegen-Vorgang.

So starten Sie einen Ziehvorgang:

  1. Erstellen Sie ein neues Clipboard-Objekt.
  2. Fügen Sie die zu übertragenden Daten in einem oder mehreren Formaten hinzu.
  3. Erstellen Sie optional ein BitmapData-Objekt, das beim Ziehen als Proxybild dient.
  4. Erstellen Sie optional ein NativeDragOptions-Objekt, um die für diesen Vorgang zulässigen Aktionen zu beschränken. (Wenn der allowedActions-Parameter den Wert null hat, sind alle Aktionen zulässig.)
  5. Rufen Sie NativeDragManager.doDrag() auf.

Das Initiatorobjekt löst ein nativeDragStart-Ereignis aus, nachdem diese Methode aufgerufen wurde, nativeDragStart-Ereignisse, während das Element gezogen wird, und ein nativeDragComplete-Ereignis, wenn der Benutzer die Maustaste loslässt und die Ziehbewegung damit beendet. Die Prozedur für das nativeDragComplete-Ereignis kann die dropAction-Eigenschaft des Ereignisses überprüfen, um festzustellen, ob der Ziehen-und-Ablegen-Vorgang erfolgreich abgeschlossen wurde. Wenn dropAction die Einstellung NativeDragActions.NONE hat, wurde das gezogene Element nicht auf einem geeigneten Ziel abgelegt.

Diese Methode kann nur von einer mouseDown- oder mouseMove-Ereignisprozedur aufgerufen werden. (Erfolgt der Aufruf als Antwort auf ein mouseMove-Ereignis, muss die Maustaste gedrückt sein.)

flash.desktop.NativeDragActions
dragInitiator Das interaktive Objekt, das an den NativeDragManager.doDrag()-Aufruf übergeben wird, der den Ziehvorgang eingeleitet hat.flash.display:InteractiveObject Das interaktive Objekt, das an den NativeDragManager.doDrag()-Aufruf übergeben wird, der den Ziehvorgang eingeleitet hat. dropAction Die vom Drop-Ziel angegebene Ziehen-Aktion.String Die vom Drop-Ziel angegebene Ziehen-Aktion.

Die dropAction-Eigenschaft sollte in der Prozedur für das nativeDragDrop-Ereignis festgelegt werden. Wird die dropAction-Eigenschaft nicht vor nativeDragComplete eingestellt, legt NativeDragManager den Wert fest anhand der ersten erlaubten Aktion der folgenden Liste: Kopieren, Verschieben oder Verknüpfen (in dieser Reihenfolge).

flash.desktop.NativeDragActions
isDragging Meldet, ob zurzeit ein Ziehvorgang stattfindet.Boolean Meldet, ob zurzeit ein Ziehvorgang stattfindet. isSupported Die isSupported-Eigenschaft hat den Wert „true“, wenn die NativeDragManager-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert „false“.BooleanMeldet, ob native Drag-and-Drop-Operationen unterstützt werden. Die isSupported-Eigenschaft hat den Wert true, wenn die NativeDragManager-Klasse von der aktuellen Plattform unterstützt wird, andernfalls hat sie den Wert false.
NativeDragOptions Die NativeDragOptions-Klasse definiert Konstanten für die Namen von Ziehen-und-Ablegen-Aktionen, die in Ziehen-und-Ablegen-Vorgängen erlaubt sind.Object Die NativeDragOptions-Klasse definiert Konstanten für die Namen von Ziehen-und-Ablegen-Aktionen, die in Ziehen-und-Ablegen-Vorgängen erlaubt sind.

Ziehaktionen sind Teil eines Rückmeldungsmechanismus, um dem auslösenden Objekt und dem Zielobjekt die Zusammenarbeit beim Ziehen und Ablegen zu ermöglichen. Die Aktionen sind nur ein Hinweis für das Betriebssystem. Es liegt am Auslöser des Ziehvorgangs und an den Zielobjekten, die an der Transaktion beteiligt sind, das richtige Verhalten zu implementieren.

Ein auslösendes Objekt sollte nur die Aktionen zulassen, die es auch unterstützt. Ein auslösendes Objekt sollte zum Beispiel nur dann die move-Aktion zulassen, wenn die interne Logik des Objekts die Quelldaten entfernt, wenn ein Ziel das Ablegen im Rahmen einer Verschiebungsaktion zulässt.

Bei einem neuen NativeDragOptions-Objekt sind alle Eigenschaften auf true eingestellt (alle Aktionen sind zulässig).

flash.desktop.NativeDragManagerflash.events.NativeDragEventtoString Konstruiert einen String, der die aktuellen Einstellungen dieses NativeDragOptions-Objekts enthält.String Die aktuellen Einstellungen dieses Objekts in einem String. String Konstruiert einen String, der die aktuellen Einstellungen dieses NativeDragOptions-Objekts enthält. allowCopy Ein Ablegen-Ziel kann die gezogenen Daten kopieren.trueBoolean Ein Ablegen-Ziel kann die gezogenen Daten kopieren. allowLink Ein Ablegen-Ziel kann eine Verknüpfung mit den gezogenen Daten erstellen.trueBoolean Ein Ablegen-Ziel kann eine Verknüpfung mit den gezogenen Daten erstellen. allowMove Ein Ablegen-Ziel kann die gezogenen Daten verschieben.trueBoolean Ein Ablegen-Ziel kann die gezogenen Daten verschieben.
DockIcon Die DockIcon-Klasse stellt das Dock-Symbol im Mac OS X&#xAE;-Stil dar.Das Dock-Symbol im Mac OS X-Stil. flash.desktop:InteractiveIcon Die DockIcon-Klasse stellt das Dock-Symbol im Mac OS X®-Stil dar.

Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der NativeApplication.isSupported-Eigenschaft können Sie testen, ob zur Laufzeit Unterstützung gegeben ist. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter Unterstützung von AIR-Profilen.

Mit der DockIcon-Klasse können Sie das Erscheinungsbild des Standardsymbols ändern. Sie können das Symbol zum Beispiel animieren oder Informationsgrafiken hinzufügen. Sie können dem Dock-Symbolmenü auch Elemente hinzufügen. Die hinzugefügten Menüelemente werden über den Standardmenüelementen angezeigt.

Es kann keine Instanz der DockIcon-Klasse erstellt werden. Rufen Sie das Objekt, welches das Docksymbol des Betriebssystems darstellt, aus NativeApplication.icon ab.

Nicht alle Betriebssysteme verfügen über Docksymbole. Überprüfen Sie NativeApplication.supportsDockIcon, um festzustellen, ob Dock-Symbole vom aktuellen System unterstützt werden. Wenn Dock-Symbole unterstützt werden, hat die NativeApplication.icon-Eigenschaft den Typ DockIcon. Andernfalls weist NativeApplication.icon eine andere Unterklasse von InteractiveIcon auf, normalerweise SystemTrayIcon.

Wichtig: Beim Versuch, eine Methode der DockIcon-Klasse für das NativeApplication.icon-Objekt aufzurufen, wird eine Laufzeitausnahme ausgelöst, wenn AIR keine Dock-Symbole unterstützt.

Im folgenden Beispiel wird eine Bildfolge geladen und das Symbolbild animiert, wenn der Timer mit dem Dock-Symbolmenü gestartet wird. (Damit das Beispiel funktioniert, müssen Sie einen Satz an Symbolbildern bereitstellen und die URLs im ImageURLs-Array ändern.) package { import flash.desktop.DockIcon; import flash.desktop.NativeApplication; import flash.display.Loader; import flash.display.NativeMenu; import flash.display.NativeMenuItem; import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.net.URLRequest; import flash.utils.Timer; public class AnimatedDockIcon extends Sprite { private var imageURLs:Array = ['gfx/frame01.png', 'gfx/frame02.png', 'gfx/frame03.png', 'gfx/frame04.png']; private var images:Array = new Array(); private var animTimer:Timer = new Timer(100); public function AnimatedDockIcon() { NativeApplication.nativeApplication.autoExit = false; addEventListener(Event.COMPLETE, loadImages); loadImages(); animTimer.addEventListener(TimerEvent.TIMER,advanceFrame); addMenu(); stage.nativeWindow.close(); } private function addMenu():void{ var menu:NativeMenu = new NativeMenu(); var start:NativeMenuItem = menu.addItem(new NativeMenuItem("Start animation")); var stop:NativeMenuItem = menu.addItem(new NativeMenuItem("Stop animation")); start.addEventListener(Event.SELECT, startTimer); stop.addEventListener(Event.SELECT, stopTimer); var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; dockIcon.menu = menu; } private function startTimer(event:Event):void{ animTimer.start(); } private function stopTimer(event:Event):void{ animTimer.stop(); } private var currentFrame:int = 0; private function advanceFrame(event:Event):void{ if(currentFrame < images.length){ currentFrame++; } else { currentFrame = 0; } NativeApplication.nativeApplication.icon.bitmaps = [images[currentFrame]]; } private function loadImages(event:Event = null):void{ if(event != null){ images.push(event.target.content.bitmapData); } if(imageURLs.length > 0){ var urlString:String = imageURLs.pop(); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImages, false, 0, true); loader.load(new URLRequest(urlString)); } else { var complete:Event = new Event(Event.COMPLETE,false,false); dispatchEvent(complete); } } } }
flash.desktop.NativeApplication.iconflash.desktop.NativeApplication.supportsDockIconflash.desktop.SystemTrayIconbounce Benachrichtigt den Benutzer, dass ein Ereignis aufgetreten ist, das möglicherweise sein Eingreifen erfordert.NotificationType.Informational priorityStringinformationalDie Dringlichkeit, mit der das Docksymbol springt. Benachrichtigt den Benutzer, dass ein Ereignis aufgetreten ist, das möglicherweise sein Eingreifen erfordert.

Beim Aufrufen dieser Methode beginnt das Dock-Symbol zu „springen“, jedoch nur, wenn sich die Anwendung im Hintergrund befindet. Wenn priority den Wert NotificationType.Informational aufweist, springt das Symbol einmal. Wenn priority den Wert NotificationType.Critical aufweist, springt das Symbol so lange, bis die Anwendung in den Vordergrund geholt wird.

Im folgenden Beispiel springt das Dock-Symbol so lange, bis der Benutzer die Anwendung aktiviert. import flash.display.DockIcon; import flash.display.NotificationType; import flash.desktop.NativeApplication; if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon As DockIcon; dockIcon.bounce(NotificationType.CRITICAL); }
flash.desktop.NotificationTypeflash.display.NativeWindow.notifyUser()
bitmaps Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.ArrayDas Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen. Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.

Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)

In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der bitmaps-Eigenschaft keine Eingabe zugewiesen wurde. In anderen Kontexten wird kein Symbol angezeigt.

Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der bitmaps-Eigenschaft ein Array mit bitmapData-Objekten zu:

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

Das direkte Ändern des bitmaps-Array hat keine Auswirkungen.

Um das Symbolbild zu löschen, weisen Sie der bitmaps-Eigenschaft ein leeres Array zu.

Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.

height Die aktuelle Anzeigehöhe des Symbols in Pixel.int Die aktuelle Anzeigehöhe des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die height-Eigenschaft gibt die Höhe des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigehöhe kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

menu Das vom System bereitgestellte Menü dieses Docksymbols.flash.display:NativeMenu Das vom System bereitgestellte Menü dieses Docksymbols.

Alle Elemente im Menü werden über den Standardelementen angezeigt. Die Standardelemente können nicht geändert oder entfernt werden.

Im folgenden Beispiel wird dem Dockmenü ein Element hinzugefügt: import flash.desktop.NativeApplication; import flash.events.Event; private function createDockIconMenu():void{ if(NativeApplication.supportsDockIcon){ var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon; var dockMenu:NativeMenu = new NativeMenu(); var command:NativeMenuItem = dockMenu.addItem(new NativeMenuItem("Command")); command.addEventListener(Event.SELECT, onCommand); dockIcon.menu = dockMenu; } } private function onCommand(event:Event):void{ //do command... }
width Die aktuelle Anzeigebreite des Symbols in Pixel.int Die aktuelle Anzeigebreite des Symbols in Pixel.

Einige Symbolkontexte unterstützen dynamische Größen. Die width-Eigenschaft gibt die Breite des Symbols an, das für den aktuellen Kontext aus dem bitmaps-Array ausgewählt wurde. Die tatsächliche Anzeigebreite kann davon abweichen, falls das Betriebssystem das Symbol skaliert hat.

Icon Die Icon-Klasse stellt ein Betriebssystemsymbol dar.flash.events:EventDispatcher Die Icon-Klasse stellt ein Betriebssystemsymbol dar.

Ein Icon-Objekt hat eine Eigenschaft, bitmaps, die ein Array von BitmapData-Objekten darstellt. Es wird jeweils nur ein Bild angezeigt. Das Betriebssystem wählt das Bild aus, dessen Größe der aktuellen Anzeigegröße des Symbols am nächsten kommt; ggf. wird skaliert.

flash.filesystem.File.iconflash.display.BitmapDatabitmaps Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.Array Das Symbolbild als ein Array von BitmapData-Objekten in verschiedenen Größen.

Wenn ein Symbol in einem bestimmten Betriebssystemkontext angezeigt wird, wird die Bitmap aus dem Array verwendet, die der angezeigten Größe am nächsten kommt. Falls erforderlich, wird die Bitmap skaliert. Gebräuchliche Größen sind 16x16, 32x32, 48x48 und 128x128. (Mit einigen Betriebssystemen können in naher Zukunft Symbole in der Größe 512x512 Pixel verwendet werden.)

In bestimmten Kontexten verwendet das Betriebssystem möglicherweise ein Standardsymbol, wenn der bitmaps-Eigenschaft keine Eingabe zugewiesen wurde. In anderen Kontexten wird kein Symbol angezeigt.

Um das Erscheinungsbild des Symbols festzulegen oder zu ändern, weisen Sie der bitmaps-Eigenschaft ein Array mit bitmapData-Objekten zu:

icon.bitmaps = new Array(icon16x16.bitmapData, icon128x128.bitmapData);

Das direkte Ändern des bitmaps-Array hat keine Auswirkungen.

Um das Symbolbild zu löschen, weisen Sie der bitmaps-Eigenschaft ein leeres Array zu.

Hinweis: Beim Laden von Bilddateien für ein Symbol erzielen Sie die beste Alphamischung im Allgemeinen mit dem PNG-Dateiformat. Das GIF-Format unterstützt nur Transparenz oder keine Transparenz (keine Mischmodi). Das JPG-Format unterstützt keine Transparenz.

flash.filesystem.File.iconflash.display.BitmapData