Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : AIR 30.0 et versions antérieures, Flash Player 30.0 et versions antérieures, Flash Lite 4
Flex 4.6 et versions antérieures, Flash Pro CS6 et versions antérieures
Masquer les filtres
flash.system 

MessageChannel  - AS3

Packagesx

Niveau supérieur
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

Eléments du langage

Constantes globales
Fonctions globales
Opérateurs
Instructions, mots clés et directives
Types spéciaux

Annexes

Nouveautés
Erreurs de compilation
Avertissements du compilateur
Erreurs d’exécution
Migration vers ActionScript 3
Jeux de caractères pris en charge
Balises MXML uniquement
Eléments XML de mouvement
Balises Timed Text
Liste des éléments déconseillés
Constantes d’implémentation d’accessibilité
Utilisation des exemples de code ActionScript
Informations juridiques
Packageflash.system
Classepublic final class MessageChannel
HéritageMessageChannel Inheritance EventDispatcher Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

La classe MessageChannel fournit un mécanisme permettant à un programme de travail de communiquer avec un autre programme de travail. Un canal de message est un canal de communication unidirectionnel. Le programme de travail d’envoi utilise le canal de message pour envoyer des objets à un programme de travail de réception. Un objet MessageChannel, qui est l’unique moyen d’envoyer un message entre programmes de travail, distribue un événement indiquant au récepteur que le message est disponible. D’autres mécanismes de partage de données permettent de définir une valeur, mais ne fournissent aucun événement pour vous informer que les données ont changé.

Chaque objet MessageChannel contient une file d’attente des objets de message que le programme de travail envoie au programme de travail de réception. Chaque appel de la méthode send() ajoute un objet à la file d’attente. Chaque appel de la méthode receive() extrait l’objet de message le plus ancien de la file d’attente.

Vous ne pouvez pas créer d’occurrences de MessageChannel directement en appelant le constructeur MessageChannel(). Pour créer une occurrence de l’objet MessageChannel, appelez la méthode createMessageChannel() de l’objet Worker qui enverra des messages sur le canal, en transmettant l’objet Worker de réception en tant qu’argument.

La procédure standard pour envoyer des messages avec un objet MessageChannel est la suivante :

  1. Appelez la méthode createMessageChannel() du programme de travail d’envoi en vue de créer le canal de message.

        // In the sending worker swf
        var sendChannel:MessageChannel;
        sendChannel = Worker.current.createMessageChannel(receivingWorker);
  2. Transmettez le canal de message à l’autre programme de travail, soit en appelant la méthode Worker.setSharedProperty(), soit en l’envoyant via un canal de message existant.

        receivingWorker.setSharedProperty("incomingChannel", sendChannel);
  3. Le code dans le programme de travail de réception enregistre un écouteur avec l’objet MessageChannel pour l’événement channelMessage.

        // In the receiving worker swf
        var incomingChannel:MessageChannel;
        incomingChannel = Worker.current.getSharedProperty("incomingChannel");
        incomingChannel.addEventListener(Event.CHANNEL_MESSAGE, handleIncomingMessage);
  4. Le code dans le programme de travail d’envoi envoie un message en appelant la méthode send().

        // In the sending worker swf
        sendChannel.send("This is a message");
  5. Le moteur d’exécution appelle le gestionnaire d’événement dans le code du programme de travail de réception en indiquant qu’un message a été envoyé.

        // 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. Le code dans le programme de travail de réception appelle la méthode receive() pour obtenir le message. L’objet renvoyé par la méthode receive() possède le même type de données que l’objet transmis dans la méthode send().

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

Outre la procédure asynchrone décrite ci-dessus, vous pouvez utiliser une procédure alternative avec la méthode receive() pour interrompre le code dans le programme de travail de réception et attendre que le message soit envoyé. Voir la description de la méthodereceive() pour plus d’informations.

La classe MessageChannel est l’un des types d’objets spéciaux qui sont partagés (et non copiés) entre les programmes de travail. Lorsque vous transmettez un canal de message d’un programme de travail à un autre, soit en appelant la méthode setSharedProperty() de l’objet Worker, soit en utilisant un objet MessageChannel, les deux programmes de travail possèdent une référence au même objet MessageChannel dans la mémoire du moteur d’exécution.

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
  messageAvailable : Boolean
[lecture seule] Indique si la file d’attente interne du canal de message contient un ou plusieurs messages envoyés par le programme de travail.
MessageChannel
  state : String
[lecture seule] Indique l’état actuel de l’objet MessageChannel (ouvert, en cours de fermeture ou fermé).
MessageChannel
Méthodes publiques
 MéthodeDéfini par
  
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
[override] Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
MessageChannel
  
Demande au canal de message actuel de se fermer une fois tous les messages reçus.
MessageChannel
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
receive(blockUntilReceived:Boolean = false):*
Extrait un seul objet de message de la file d’attente des messages envoyés via ce canal de message.
MessageChannel
  
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
[override] Supprime un écouteur de l’objet EventDispatcher.
MessageChannel
  
send(arg:*, queueLimit:int = -1):void
Envoie un objet depuis le programme de travail d’envoi et l’ajoute à la file d’attente des messages pour le programme de travail de réception.
MessageChannel
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
  
[override] Renvoie la représentation sous forme de chaîne de l’objet spécifié.
MessageChannel
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player obtient le focus du système d’exploitation et devient active.EventDispatcher
  Distribué chaque fois que le programme de travail d’envoi appelle la méthode send() de cet objet MessageChannel en indiquant qu’un nouvel objet de message est disponible dans la file d’attente de l’occurrence de MessageChannel.MessageChannel
  Distribué lorsque la valeur de la propriété state du canal de message change.MessageChannel
 Inherited[Evénement de diffusion] Distribué lorsque l’application Flash Player ou AIR perd le focus du système d’exploitation et devient inactive.EventDispatcher
Détails de la propriété

messageAvailable

propriété
messageAvailable:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Indique si la file d’attente interne du canal de message contient un ou plusieurs messages envoyés par le programme de travail.



Implémentation
    public function get messageAvailable():Boolean

state

propriété 
state:String  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Indique l’état actuel de l’objet MessageChannel (ouvert, en cours de fermeture ou fermé). Les valeurs possibles de cette propriété sont définies en tant que constantes dans la classe MessageChannelState.



Implémentation
    public function get state():String

Eléments de l’API associés

Détails de la méthode

addEventListener

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. Vous pouvez enregistrer les écouteurs d’événement dans tous les nœuds de la liste d’affichage pour un type spécifique d’événement, de phase et de priorité.

Après l’enregistrement d’un écouteur d’événement, vous ne pouvez plus modifier sa priorité par d’autres appels de addEventListener(). Pour modifier la priorité d’un écouteur, vous devez d’abord appeler removeListener(). Vous pouvez ensuite réenregistrer l’écouteur avec le nouveau niveau de priorité.

N’oubliez pas qu’une fois l’écouteur enregistré, tous les prochains appels de addEventListener() avec une valeur type ou useCapture différente entraîneront la création d’un autre enregistrement d’écouteur. Si, par exemple, vous enregistrez un écouteur dans lequel la propriété useCapture est définie sur true, il écoute uniquement pendant la phase de capture. Si vous appelez addEventListener() à l’aide du même objet écouteur, mais en définissant useCapture sur false, vous obtenez deux écouteurs distincts : l’un qui écoute pendant la phase de capture et l’autre qui écoute pendant les phases cible et de propagation vers le haut (bubbling).

Il est impossible d’enregistrer un écouteur d’événement uniquement pour la phase cible ou la phase de propagation vers le haut. Ces deux phases sont associées pendant l’enregistrement car la propagation vers le haut s’applique uniquement aux ancêtres du nœud cible.

Si vous n’avez plus besoin d’un écouteur d’événements, supprimez-le en appelant removeEventListener(), afin d’éviter tout problème de mémoire. Les écouteurs d’événement ne sont pas automatiquement supprimés de la mémoire, car le nettoyeur de mémoire ne supprime pas l’écouteur tant que l’objet de distribution existe (à moins que le paramètre useWeakReference ne soit défini sur true).

Lors de la copie d’une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés ne sont pas pris en compte (si le nouveau nœud nécessite un écouteur d’événement, vous devez associer celui-ci après la création du nœud). Toutefois, si vous déplacez une occurrence d’EventDispatcher, les écouteurs d’événement qui lui sont associés la suivent.

Si un écouteur d’événement est enregistré sur un nœud alors qu’un événement est en cours de traitement sur ce nœud, l’écouteur n’est pas déclenché pendant la phase actuelle, mais il peut l’être pendant une phase ultérieure du flux d’événements, telle que la phase de propagation vers le haut (bubbling).

Si un écouteur d’événement est supprimé d’un nœud sur lequel un événement est en cours de traitement, il est cependant déclenché par les actions en cours. Une fois supprimé, l’écouteur d’événement n’est plus jamais appelé (à moins d’être réenregistré à des fins de traitement ultérieur).

Paramètres

type:String — Type d’événement.
 
listener:Function — Fonction d’auditeur qui traite l’événement. Cette fonction doit accepter un objet Event comme paramètre unique et ne rien renvoyer, comme illustré ci-dessous :
function(evt:Event):void

Le nom de cette fonction n’a aucune importance.

 
useCapture:Boolean (default = false)Détermine si l’écouteur est actif pendant la phase de capture ou pendant les phases cible et de propagation. Si la propriété useCapture est définie sur true, l’écouteur traite l’événement uniquement pendant la phase de capture et non pendant les phases cible et de propagation. Si la propriété useCapture est définie sur false, l’écouteur traite l’événement uniquement pendant les phases cible et de propagation. Pour écouter l’événement dans les trois phases, appelez addEventListener à deux reprises, une première fois en définissant useCapture sur true, puis une nouvelle fois en définissant useCapture sur false.
 
priority:int (default = 0) — Niveau de priorité de l’écouteur d’événement. La priorité est indiquée par un entier signé de 32 bits. Plus le nombre est élevé, plus la priorité est élevée. Tous les écouteurs dont la priorité correspond à n sont traités avant les écouteurs dotés de la priorité n -1. Les écouteurs dont la priorité est identique sont traités dans l’ordre où ils ont été ajoutés. La priorité par défaut est 0.
 
useWeakReference:Boolean (default = false) — Détermine si la référence à l’écouteur est forte ou faible. Une référence forte (valeur par défaut) empêche le nettoyage de votre écouteur, Cela n’est pas le cas avec une référence faible.

Les fonctions de membres de niveau classe n’étant pas soumises au nettoyage, vous pouvez définir useWeakReference sur true pour ces fonctions. Si vous définissez useWeakReference sur true pour un écouteur correspondant à une fonction imbriquée interne, la fonction sera nettoyée et ne sera donc pas permanente. Si vous créez des références à la fonction interne (enregistrée dans une autre variable), celle-ci n’est pas nettoyée et reste permanente.

close

()méthode 
public function close():void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Demande au canal de message actuel de se fermer une fois tous les messages reçus.

Une fois que vous appelez cette méthode, vous ne pouvez plus appeler la méthode send() pour ajouter des messages à la file d’attente. L’appel de la méthode send() échouera et renverra false.

Par ailleurs, vous pouvez uniquement appeler la méthode receive() pour recevoir les messages déjà en attente dans la file d’attente. Si la file d’attente est vide, l’appel de la méthode receive() renvoie null.


Evénements
channelState:Event — distribué lors de l’appel de la méthode close() (qui définit la propriété state sur MessageChannelState.CLOSING). Distribué à nouveau lorsque tous les messages ont été reçus et que la propriété state est définie sur MessageChannelState.CLOSED.

receive

()méthode 
public function receive(blockUntilReceived:Boolean = false):*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Extrait un seul objet de message de la file d’attente des messages envoyés via ce canal de message.

Chaque fois que le code du programme de travail d’envoi appelle la méthode send() de l’objet MessageChannel, un seul objet est ajouté à la file d’attente interne du canal de message. Ces objets s’empilent dans la file d’attente jusqu’à ce qu’ils soient supprimés un par un par le programme de travail de réception qui appelle la méthode receive(). Les objets de message sont reçus dans l’ordre où ils sont envoyés.

Pour vérifier si la file d’attente contient un objet de message à recevoir, utilisez la propriété messageAvailable.

Dans un cas standard, l’objet transmis à la méthode send() est sérialisé au format AMF3. Lorsqu’il est supprimé de la file d’attente par l’appel de la méthode receive(), il est désérialisé en objet ActionScript (copie de l’objet d’origine) dans le programme de travail de réception, et le programme de travail reçoit une référence à cette copie. Certains types d’objets sont partagés entre programmes de travail au lieu d’être copiés. Dans ce cas, l’objet que le programme de travail de réception reçoit est une référence à l’objet partagé proprement dit et non une nouvelle copie de l’objet. Pour plus d’informations sur ce cas, voir la description de la méthode send().

Le comportement de la méthode change si la file d’attente des messages est vide et si vous transmettez la valeur true au paramètre blockUntilReceived. Dans ce cas, le programme de travail interrompt son thread d’exécution lors de l’appel de la méthode receive() et cesse d’exécuter le code. Dès que le programme de travail d’envoi appelle la méthode send(), l’appel de la méthode receive() se termine par la réception du message. Le programme de travail reprend alors l’exécution du code à partir de la ligne de code qui suit l’appel de réception.

Paramètres

blockUntilReceived:Boolean (default = false) — indique si le thread d’exécution du programme de travail doit recevoir un objet de message et poursuivre l’exécution (false), ou s’il doit s’interrompre à l’appel de la méthode receive() et attendre l’envoi d’un message si la file d’attente est vide (true)

Valeur renvoyée
* — copie de l’objet transmis à la méthode send() par le programme de travail d’envoi. Si l’objet est de l’un des types spéciaux qui sont partagés entre les programmes de travail, la valeur renvoyée est une référence à l’objet partagé plutôt qu’une copie de celui-ci. Si aucun message n’est disponible dans la file d’attente, la méthode renvoie null.

Valeur émise
IOError — si le canal est fermé au moment de l’appel de la méthode ou si l’argument blockUntilReceived entraîne l’interruption de l’exécution et la fermeture du canal par un autre programme de travail
 
ArgumentError — si le code d’appel ne se trouve pas dans le programme de travail de réception
 
ScriptTimeoutError — si la méthode est appelée à partir du code du programme de travail primordial dans Flash Player et que l’argument blockUntilReceived entraîne l’interruption du programme de travail pendant une durée supérieure au délai d’expiration du script (15 secondes par défaut)

Eléments de l’API associés

removeEventListener

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

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Supprime un écouteur de l’objet EventDispatcher. Si aucun écouteur correspondant n’est enregistré auprès de l’objet EventDispatcher, l’appel de cette méthode n’a aucun effet.

Paramètres

type:String — Type d’événement.
 
listener:Function — Objet écouteur à supprimer.
 
useCapture:Boolean (default = false)Détermine si l’écouteur a été enregistré pendant la phase de capture ou pendant les phases cible et de propagation. Si l’écouteur a été enregistré pendant la phase de capture et pendant les phases cible et de propagation, il est nécessaire d’appeler removeEventListener() à deux reprises pour le supprimer. Appelez useCapture() une première fois en la définissant sur true, puis une seconde fois useCapture() en la définissant sur false.

send

()méthode 
public function send(arg:*, queueLimit:int = -1):void

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Envoie un objet depuis le programme de travail d’envoi et l’ajoute à la file d’attente des messages pour le programme de travail de réception.

Vous pouvez transmettre pratiquement n’importe quel objet au paramètre arg. Sauf dans les cas exceptionnels décrits ci-dessous, tous les objets transmis au paramètre arg ne sont pas transmis par référence. Toutes les modifications apportées à l’objet dans un programme de travail après l’appel de la méthode send() ne sont pas appliquées à l’autre programme de travail. L’objet est copié en le sérialisant au format AMF3 et en le désérialisant en nouvel objet dans le programme de travail de réception lors de l’appel de la méthode receive(). Pour cette raison, les objets qu’il est impossible de sérialiser au format AMF3, notamment les objets d’affichage, ne peuvent pas être transmis au paramètre arg. Pour transmettre correctement une classe personnalisée, la définition de classe doit être enregistrée avec la fonction flash.net.registerClassAlias() ou les métadonnées [RemoteClass]. Quelle que soit la technique choisie, le même alias doit être utilisé pour les deux versions du programme de travail de la classe .

Il existe cinq types d’objets qui échappent à la règle selon laquelle les objets ne sont pas partagés entre les programmes de travail :

  • Worker
  • MessageChannel
  • ByteArray partageable (objet ByteArray dont la propriété shareable est définie sur true)
  • Mutex
  • Condition

Si vous transmettez une occurrence de ces objets au paramètre arg, chaque programme de travail possède une référence au même objet sous-jacent. Les modifications apportées à une occurrence dans un programme de travail (worker) sont immédiatement disponibles dans les autres programmes de travail. En outre, si vous transmettez plusieurs fois la même occurrence de ces objets à un programme de travail à l’aide de la méthode send(), le moteur d’exécution ne crée par une nouvelle copie de l’objet dans le programme de travail de réception. Au lieu de cela, la même référence est réutilisée afin de réduire l’utilisation de la mémoire système.

Par défaut, cette méthode ajoute l’objet à la file d’attente et est immédiatement renvoyée en poursuivant l’exécution à la ligne de code suivante. Si vous souhaitez éviter que la file d’attente atteigne une certaine taille, vous pouvez utiliser le paramètre queueLimit pour spécifier le nombre d’éléments maximum que la file d’attente peut contenir. Si, au moment de l’appel de la méthode send(), le nombre d’éléments dans la file d’attente est supérieur à la limite que vous avez spécifiée, le programme de travail interrompt le thread d’exécution à l’appel de la méthode send(). Lorsque le programme de travail de réception appelle la méthode receive() le nombre de fois suffisantes pour que la taille de la file d’attente soit inférieure à la limite spécifiée, l’appel de la méthode send() reprend et se termine. Le programme de travail poursuit alors l’exécution à partir de la ligne de code suivante.

Paramètres

arg:* — l’objet à ajouter à la file d’attente des messages
 
queueLimit:int (default = -1) — nombre maximal d’objets de message que la file d’attente des messages peut contenir. Si la file d’attente contient plus d’objets que la limite autorisée, le programme de travail d’envoi interrompt l’exécution jusqu’à ce que les messages soient reçus et que la taille de la file d’attente diminue et soit inférieure à la limite autorisée.


Evénements
channelMessage:Event — distribué pour informer le programme de travail de réception qu’un objet de message est disponible dans la file d’attente

Valeur émise
IOError — si le canal est fermé au moment de l’appel de la méthode ou si l’argument queueLimit entraîne l’interruption de l’exécution et la fermeture du canal par un autre programme de travail
 
ArgumentError — si le code d’appel ne se trouve pas dans le programme de travail d’envoi
 
ScriptTimeoutError — si la méthode est appelée à partir du code du programme de travail primordial dans Flash Player et que l’argument queueLimit entraîne l’interruption du programme de travail pendant une durée supérieure au délai d’expiration du script (15 secondes par défaut)

Eléments de l’API associés

toString

()méthode 
override public function toString():String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Renvoie la représentation sous forme de chaîne de l’objet spécifié.

Remarque : les méthodes de la classe Object sont créées dynamiquement sur le prototype correspondant. Pour redéfinir cette méthode dans une sous-classe d’Object, n’utilisez pas le mot-clé override. Par exemple, une sous-classe d’Object implémente function toString():String au lieu d’utiliser un remplacement de la classe de base.

Valeur renvoyée
String — Représentation sous forme de chaîne de l’objet.
Détails de l’événement

channelMessage

Evénement
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.CHANNEL_MESSAGE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Distribué chaque fois que le programme de travail d’envoi appelle la méthode send() de cet objet MessageChannel en indiquant qu’un nouvel objet de message est disponible dans la file d’attente de l’occurrence de MessageChannel.

La constante Event.CHANNEL_MESSAGE définit la valeur de la propriété type d’un objet d’événement channelMessage.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet ayant distribué l’événement this.

channelState

Evénement  
Type d’objet d’événement: flash.events.Event
propriété Event.type = flash.events.Event.CHANNEL_STATE

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: Flash Player 11.4, AIR 3.4

Distribué lorsque la valeur de la propriété state du canal de message change.

La constante Event.CHANNEL_STATE définit la valeur de la propriété type d’un objet d’événement channelState.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet ayant distribué l’événement this.




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.