ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: AIR 30.0 und früher, Flash Player 30.0 und früher, Flash Lite 4
Flex 4.6 und früher, Flash Pro CS6 und früher
Filter ausblenden
flash.system 

MessageChannel  - AS3

Paketex

Oberste Ebene
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Sprachelemente

Globale Konstanten
Globale Funktionen
Operatoren
Anweisungen, Schlüsselwörter und Direktiven
Sondertypen

Anhänge

Neue Funktionen
Compiler-Fehler
Compiler-Warnungen
Laufzeitfehler
Migration zu ActionScript 3
Unterstützte Zeichensätze
Nur MXML-Tags
Motion-XML-Elemente
Timed Text-Tags
Liste veralteter Elemente
Konstanten für die Implementierung von Eingabehilfen
Verwendung der ActionScript-Beispiele
Rechtliche Hinweise
Paketflash.system
Klassepublic final class MessageChannel
VererbungMessageChannel Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Die MessageChannel-Klasse stellt einem Worker eine Möglichkeit bereit, mit einem anderen Worker zu kommunizieren. Ein Nachrichtenkanal ist ein unidirektionaler Kommunikationskanal. Der sendende Worker verwendet den Nachrichtenkanal, um Objekte an den empfangenden Worker zu senden. Ein MessageChannel-Objekt ist die einzige Möglichkeit, eine Nachricht zwischen Workern zu senden, die ein Ereignis absetzt, um dem Empfänger mitzuteilen, dass eine Nachricht verfügbar ist. Andere Mechanismen zum Teilen von Daten lassen zwar das Festlegen eines Werts fest, stellen aber kein Ereignis bereit, um Sie über die geänderten Daten zu informieren.

Jedes MessageChannel-Objekt enthält eine Warteschlange mit Nachrichtenobjekten, die vom sendenden Worker an den empfangenden Worker gesendet werden. Mit jedem Aufruf von send() wird der Warteschlange ein Objekt hinzugefügt. Mit jedem Aufruf von receive() wird das älteste Nachrichtenobjekt aus der Warteschlange abgerufen.

Sie erstellen MessageChannel-Instanzen nicht direkt, indem Sie den MessageChannel()-Konstruktor aufrufen. Um eine MessageChannel-Instanz zu erstellen, rufen Sie die createMessageChannel()-Methode des Worker-Objekts auf, das Nachrichten über den Kanal sendet, und übergeben Sie dabei das empfangende Worker-Objekt als Argument.

So sieht der typische Arbeitsablauf beim Senden von Nachrichten mit einem MessageChannel-Objekt aus:

  1. Rufen Sie die createMessageChannel()-Methode des sendenden Workers auf, um den Nachrichtenkanal zu erstellen

        // In the sending worker swf
        var sendChannel:MessageChannel;
        sendChannel = Worker.current.createMessageChannel(receivingWorker);
  2. Übergeben Sie den Nachrichtenkanal an einen anderen Worker, entweder indem Sie Worker.setSharedProperty() aufrufen oder indem Sie ihn über einen vorhandenen Nachrichtenkanal senden

        receivingWorker.setSharedProperty("incomingChannel", sendChannel);
  3. Code im empfangenden Worker registriert einen Listener beim MessageChannel-Objekt für das channelMessage-Ereignis

        // In the receiving worker swf
        var incomingChannel:MessageChannel;
        incomingChannel = Worker.current.getSharedProperty("incomingChannel");
        incomingChannel.addEventListener(Event.CHANNEL_MESSAGE, handleIncomingMessage);
  4. Code im sendenden Worker sendet eine Nachricht, indem die send()-Methode aufgerufen wird

        // In the sending worker swf
        sendChannel.send("This is a message");
  5. Die Laufzeitumgebung ruft die Ereignisprozedur im Code des empfangenden Workers auf und zeigt damit an, dass eine Nachricht gesendet wurde

        // In the receiving worker swf
        // This method is called when the message channel gets a message
        private function handleIncomingMessage(event:Event):void
        {
            // Do something with the message, as shown in the next code listing
        }
  6. Code im empfangenden Worker ruft die receive()-Methode auf, um die Nachricht abzurufen. Das von der receive()-Methode zurückgegebene Objekt weist denselben Datentyp auf wie das Objekt, das an die send()-Methode übergeben wurde.

        var message:String = incomingChannel.receive() as String;

Neben dem oben beschriebenen asynchronen Arbeitsablauf können Sie auch einen alternativen Arbeitsablauf mit der receive()-Methode verwenden, um den Code im empfangenden Worker anzuhalten und zu warten, bis eine Nachricht gesendet wird. Weitere Informationen hierzu finden Sie in der Beschreibung der receive()-Methode.

Die MessageChannel-Klasse ist eine der besonderen Objekttypen, die von Workern gemeinsam benutzt werden, anstatt dass sie zwischen ihnen kopiert werden. Wenn Sie einen Nachrichtenkanal von einem Worker an einen anderen übergeben, indem Sie entweder die setSharedProperty()-Methode des Worker-Objekts aufrufen oder ein MessageChannel-Objekt verwenden, verweisen beide Worker auf dasselbe MessageChannel-Objekt im Arbeitsspeicher der Laufzeitumgebung.

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  messageAvailable : Boolean
[schreibgeschützt] Gibt an, ob der MessageChannel eine oder mehrere Nachrichten vom sendenden Worker in seiner internen Warteschlange hat.
MessageChannel
  state : String
[schreibgeschützt] Gibt den aktuellen Zustand des MessageChannel-Objekts an (geöffnet, schließend oder geschlossen).
MessageChannel
Öffentliche Methoden
 MethodeDefiniert von
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[override] Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
MessageChannel
  
Weist den aktuellen MessageChannel an, zu schließen, sobald alle Meldungen empfangen wurden.
MessageChannel
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
receive(blockUntilReceived:Boolean = false):*
Ruft ein einzelnes Nachrichtenobjekt aus der Warteschlange mit Nachrichten ab, die über diesen Nachrichtenkanal gesendet wurden.
MessageChannel
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[override] Entfernt einen Listener aus dem EventDispatcher-Objekt.
MessageChannel
  
send(arg:*, queueLimit:int = -1):void
Sendet ein Objekt vom sendenden Worker und fügt es der Nachrichtenwarteschlange für den empfangenden Worker hinzu.
MessageChannel
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
[override] Gibt das angegebene Objekt als String zurück.
MessageChannel
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  Wird jedes Mal abgesetzt, wenn der sendende Worker die send()-Methode dieses MessageChannel-Objekts aufruft und damit anzeigt, dass in der Warteschlange der MessageChannel-Instanz ein neues Nachrichtenobjekt verfügbar ist.MessageChannel
  Wird abgesetzt, wenn sich der Wert der state-Eigenschaft des Nachrichtenkanals ändert.MessageChannel
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
Eigenschaftendetails

messageAvailable

Eigenschaft
messageAvailable:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Gibt an, ob der MessageChannel eine oder mehrere Nachrichten vom sendenden Worker in seiner internen Warteschlange hat.



Implementierung
    public function get messageAvailable():Boolean

state

Eigenschaft 
state:String  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Gibt den aktuellen Zustand des MessageChannel-Objekts an (geöffnet, schließend oder geschlossen). Die möglichen Werte dieser Eigenschaft sind als Konstanten in der MessageChannelState-Klasse definiert.



Implementierung
    public function get state():String

Verwandte API-Elemente

Methodendetails

addEventListener

()Methode
override public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

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).

Parameter

type:String — Der Ereignistyp.
 
listener:Function — Die 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.

 
useCapture:Boolean (default = false)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.
 
priority:int (default = 0) — Die 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.
 
useWeakReference:Boolean (default = false) — Bestimmt, 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.

close

()Methode 
public function close():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Weist den aktuellen MessageChannel an, zu schließen, sobald alle Meldungen empfangen wurden.

Wenn Sie diese Methode einmal aufgerufen haben, können Sie nicht länger die send()-Methode aufrufen, um der Warteschlange Nachrichten hinzuzufügen. Der send()-Aufruf wird fehlschlagen und false zurückgeben.

Des Weiteren können Sie die receive()-Methode nur aufrufen, um Nachrichten abzurufen, die sich bereits in der Warteschlange befinden. Wenn die Warteschlange leer ist, gibt der receive()-Aufruf null zurück.


Ereignisse
channelState:Event — wird abgesetzt, wenn die close()-Methode aufgerufen wird (wodurch die state-Eigenschaft auf MessageChannelState.CLOSING gesetzt wird). Wird erneut abgesetzt, wenn alle Nachrichten empfangen wurden und die state-Eigenschaft auf MessageChannelState.CLOSED gesetzt wird.

receive

()Methode 
public function receive(blockUntilReceived:Boolean = false):*

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Ruft ein einzelnes Nachrichtenobjekt aus der Warteschlange mit Nachrichten ab, die über diesen Nachrichtenkanal gesendet wurden.

Jedes Mal, wenn der Code des sendenden Workers die send()-Methode des MessageChannel-Objekts aufruft, wird der internen Warteschlange des Nachrichtenkanals ein einzelnes Objekt hinzugefügt. Diese Objekte sammeln sich in der Warteschlange, bis sie einzeln entfernt werden, wenn der empfangende Worker die receive()-Methode aufruft. Die Nachrichtenobjekte werden in derselben Reihenfolge empfangen, in der sie gesendet werden.

Um zu überprüfen, ob die Warteschlange ein Nachrichtenobjekt enthält, das empfangen werden kann, verwenden Sie die messageAvailable-Eigenschaft.

Normalerweise wird das an send() übergebene Objekt im AMF3-Format serialisiert. Wenn es durch den receive()-Aufruf aus der Warteschlange entfernt wird, wird es im empfangenden Worker in ein ActionScript-Objekt serialisiert (eine Kopie des Originalobjekts) und der Worker erhält einen Verweis auf diese Kopie. Bestimmte Objekttypen werden nicht kopiert, sondern von Workern gemeinsam genutzt. In diesem Fall ist das Objekt, das der empfangende Worker erhält, keine neue Kopie des Objekts, sondern ein Verweis auf das gemeinsam genutzte Objekt. Weitere Informationen zu diesem Fall finden Sie in der Beschreibung der send()-Methode.

Das Verhalten der Methode ändert sich, wenn die Nachrichtenwarteschlange leer ist und Sie true für den blockUntilReceived-Parameter übergeben. In diesem Fall unterbricht der Worker seinen Ausführungsthread beim Aufruf von receive() und führt keinen weiteren Code aus. Wenn der sendende Worker send() aufruft, wird der receive()-Aufruf durch den Empfang der Nachricht abgeschlossen. Der Worker setzt die Ausführung des Codes dann in der nächsten Codezeile nach dem receive-Aufruf fort.

Parameter

blockUntilReceived:Boolean (default = false) — gibt an, ob der Ausführungsthread des Workers ein Nachrichtenobjekt empfangen und dann mit der Ausführung fortfahren soll (false), oder ob er beim receive()-Aufruf anhalten und auf eine Nachricht warten soll, falls die Warteschlange leer ist (true)

Rückgabewerte
* — eine Kopie des Objekts, das vom sendenden Worker an die send()-Methode übergeben wird. Wenn das Objekt einen der Sondertypen aufweist, die von Workern gemeinsam verwendet werden, ist der Rückgabewert ein Verweis auf das gemeinsam genutzte Objekt und keine Kopie davon. Wenn in der Warteschlange keine Nachricht verfügbar ist, gibt die Methode null zurück.

Auslöser
IOError — wenn der Kanal beim Aufrufen der Methode geschlossen ist oder wenn das blockUntilReceived-Argument dazu führt, dass die Ausführung angehalten wird und der Kanal dann von einem anderen Worker geschlossen wird.
 
ArgumentError — wenn sich der aufrufende Code nicht im empfangenden Worker befindet
 
ScriptTimeoutError — wenn die Methode vom Code im ursprünglichen Worker in Flash Player aufgerufen wird und das blockUntilReceived-Argument dazu führt, dass der Worker länger angehalten wird als das Skript-Timeout (standardmäßig 15 Sekunden)

Verwandte API-Elemente

removeEventListener

()Methode 
override public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Entfernt einen Listener aus dem EventDispatcher-Objekt. Wenn kein entsprechender Listener mit dem EventDispatcher-Objekt registriert ist, hat ein Aufruf dieser Methode keine Auswirkungen.

Parameter

type:String — Der Ereignistyp.
 
listener:Function — Das zu entfernende Listener-Objekt.
 
useCapture:Boolean (default = false)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.

send

()Methode 
public function send(arg:*, queueLimit:int = -1):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Sendet ein Objekt vom sendenden Worker und fügt es der Nachrichtenwarteschlange für den empfangenden Worker hinzu.

Das Objekt, das an den arg-Parameter übergeben wird, kann ein nahezu beliebiges Objekt sein. Abgesehen von den unten aufgeführten Ausnahmen, werden Objekte, die an den arg-Parameter übergeben werden, nicht als Verweis übergeben. Alle Änderungen, die nach dem send()-Aufruf an einem Objekt in einem Worker vorgenommen werden, werden nicht an den anderen Worker übertragen. Das Objekt wird kopiert, indem es in das AMF3-Format serialisiert und im empfangenden Worker in ein neues Objekt deserialisiert wird, wenn receive() aufgerufen wird. Aus diesem Grund können Objekte, die nicht im AMF3-Format serialisiert werden können, zum Beispiel Anzeigeobjekte, nicht an den arg-Parameter übergeben werden. Damit eine benutzerdefinierte Klasse korrekt übergeben werden kann, muss die Klassendefinition mit der flash.net.registerClassAlias()-Funktion oder unter Verwendung von [RemoteClass]-Metadaten registriert werden. Bei beiden Techniken muss derselbe Alias für die Klassenversionen beider Worker verwendet werden.

Es gibt fünf Objekttypen, die eine Ausnahme der Regel darstellen, dass Objekte nicht von Workern gemeinsam genutzt werden:

  • Worker
  • MessageChannel
  • gemeinsam nutzbares ByteArray (ein ByteArray-Objekt, dessen shareable-Eigenschaft auf true eingestellt ist
  • Mutex
  • Condition

Wenn Sie eine Instanz dieser Objekte an den arg-Parameter übergeben, hat jeder Worker einen Verweis auf dasselbe zugrunde liegende Objekt. Änderungen, die in einem Worker an einer Instanz vorgenommen werden, sind sofort auch in den anderen Workern verfügbar. Wenn Sie dieselbe Instanz dieser Objekte mehrmals mit send() übergeben, erstellt die Laufzeitumgebung keine neue Kopie des Objekts im empfangenden Worker. Stattdessen wird derselbe Verweis erneut verwendet, sodass der Arbeitsspeicher weniger belastet wird.

Standardmäßig fügt diese Methode das Objekt zur Warteschlange hinzu, gibt sofort einen Wert zurück und setzt die Ausführung mit der nächsten Codezeile fort. Wenn Sie die Größe der Warteschlange auf einen bestimmten Wert begrenzen möchten, können Sie mit dem queueLimit-Parameter die maximale Anzahl von Objekten in der Warteschlange festlegen. Wenn zum Zeitpunkt des send()-Aufrufs mehr Objekte in der Warteschlange sind als das von Ihnen festgelegte Limit, hält der Worker den Ausführungsthread beim send()-Aufruf an. Wenn der empfangende Worker oft genug receive() aufgerufen hat, sodass die Warteschlange weniger Objekte als das festgelegte Limit enthält, wird der send()-Aufruf abgeschlossen. Der Worker setzt die Ausführung dann in der nächsten Codezeile fort.

Parameter

arg:* — das Objekt, das der Nachrichtenwarteschlange hinzugefügt wird
 
queueLimit:int (default = -1) — die maximale Anzahl von Nachrichtenobjekten, die die Nachrichtenwarteschlange enthalten kann. Falls die Warteschlange mehr Objekte als maximal zulässig enthält, unterbricht der sendende Worker die Ausführung, bis Nachrichten abgerufen werden und die Anzahl der Nachrichten wieder unter dem Limit liegt.


Ereignisse
channelMessage:Event — wird abgesetzt, um den empfangenden Worker darüber zu benachrichtigen, dass ein Nachrichtenobjekt in der Warteschlange verfügbar ist

Auslöser
IOError — wenn der Kanal beim Aufrufen der Methode geschlossen ist oder wenn das queueLimit-Argument dazu führt, dass die Ausführung angehalten wird und der Kanal dann von einem anderen Worker geschlossen wird.
 
ArgumentError — wenn sich der aufrufende Code nicht im sendenden Worker befindet
 
ScriptTimeoutError — wenn die Methode vom Code im ursprünglichen Worker in Flash Player aufgerufen wird und das queueLimit-Argument dazu führt, dass der Worker länger angehalten wird als das Skript-Timeout (standardmäßig 15 Sekunden)

Verwandte API-Elemente

toString

()Methode 
override public function toString():String

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Gibt das angegebene Objekt als String zurück.

Hinweis: Methoden der Object-Klasse werden für den Prototyp des Objekts dynamisch erstellt. Um diese Methode in eine Unterklasse von Object umzudefinieren, sollten Sie nicht das Schlüsselwort override verwenden. So implementiert eine Unterklasse von Object beispielsweise function toString():String anstatt die Basisklasse per „override“ außer Kraft zu setzen.

Rückgabewerte
String — Die Stringdarstellung des Objekts.
Ereignisdetails

channelMessage

Ereignis
Ereignisobjekttyp: flash.events.Event
Eigenschaft Event.type = flash.events.Event.CHANNEL_MESSAGE

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Wird jedes Mal abgesetzt, wenn der sendende Worker die send()-Methode dieses MessageChannel-Objekts aufruft und damit anzeigt, dass in der Warteschlange der MessageChannel-Instanz ein neues Nachrichtenobjekt verfügbar ist.

Die Event.CHANNEL_MESSAGE-Konstante definiert den Wert der type-Eigenschaft eines channelMessage-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, das dieses Ereignis abgesetzt hat.

channelState

Ereignis  
Ereignisobjekttyp: flash.events.Event
Eigenschaft Event.type = flash.events.Event.CHANNEL_STATE

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 11.4, AIR 3.4

Wird abgesetzt, wenn sich der Wert der state-Eigenschaft des Nachrichtenkanals ändert.

Die Event.CHANNEL_STATE-Konstante definiert den Wert der type-Eigenschaft eines channelState-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDas Objekt, das dieses Ereignis abgesetzt hat.




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.