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

SharedObject  - 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.net
Klassepublic class SharedObject
VererbungSharedObject Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die SharedObject-Klasse dient zum Lesen und Speichern begrenzter Datenmengen auf dem Computer eines Benutzers oder auf einem Server. Gemeinsame Objekte ermöglichen den Datenaustausch in Echtzeit zwischen mehreren Client-SWF-Dateien und Objekten auf dem lokalen Computer oder einem Remote-Server. Lokale gemeinsame Objekte sind mit Browser-Cookies und gemeinsame Remote-Objekte mit Echtzeit-Datenübertragungsgeräten vergleichbar. Um gemeinsame Remote-Objekte zu verwenden, benötigen Sie Adobe Flash Media Server.

Gemeinsame Objekte können Sie für Folgendes verwenden:

  • Lokal permanente Speicherung. Dies ist die einfachste Möglichkeit zur Verwendung eines gemeinsamen Objekts, für die Flash Media Server nicht erforderlich ist. Beispielsweise können Sie SharedObject.getLocal() aufrufen, um ein gemeinsames Objekt in einer Anwendung wie z. B. einen Rechner mit Speicher zu erstellen. Wenn der Benutzer den Rechner schließt, speichert Flash Player den letzten Wert in einem gemeinsamen Objekt auf dem Computer des Benutzers. Daraufhin wird der Rechner bei der nächsten Verwendung mit dem zuletzt verwendeten Wert geöffnet. Wenn Sie die Eigenschaften des gemeinsamen Objekts vor dem Schließen des Rechners auf null setzen, wird die Anwendung beim nächsten Start ohne Werte geöffnet. Ein anderes Beispiel für die lokal permanente Speicherung ist die Erfassung von Benutzereinstellungen oder anderen Daten für eine komplexe Website, z. B. ein Verzeichnis der Artikel, die ein Benutzer auf einer Nachrichten-Site liest. Durch die Verfolgung dieser Informationen können bereits gelesene Artikel in anderer Form angezeigt werden als neue, ungelesene Artikel. Durch die Speicherung dieser Angaben auf dem Computer des Benutzers kann die Serverlast reduziert werden.
  • Speichern und Freigeben von Daten auf Flash Media Server. Ein gemeinsames Objekt kann Daten auf dem Server speichern, die dann von anderen Clients abgerufen werden können. Rufen Sie zum Beispiel SharedObject.getRemote() auf, um ein gemeinsames Remote-Objekt zu erstellen, etwa eine Liste mit Telefonnummer, die auf dem Server permanent gespeichert wird. Wenn ein Client Änderungen am gemeinsamen Objekt vornimmt, stehen die geänderten Daten allen Clients zur Verfügung, die zurzeit mit dem Objekt verbunden sind oder die später eine Verbindung dazu herstellen. Wenn das Objekt auch lokal gespeichert wird und ein Client Änderungen vornimmt, während er nicht mit dem Server verbunden ist, werden die Daten in das gemeinsame Remote-Objekt kopiert, wenn der Client das nächste Mal eine Verbindung mit dem Objekt herstellt.
  • Datenaustausch in Echtzeit: Gemeinsame Objekte ermöglichen den Datenaustausch zwischen mehreren Clients in Echtzeit. Beispiel: Sie können ein gemeinsames Remote-Objekt öffnen, in dem eine Liste der mit einem Chatraum verbundenen Benutzer gespeichert ist. Diese Liste kann von allen Clients angezeigt werden, die mit dem Objekt verbunden sind. Wenn ein neuer Benutzer eine Verbindung herstellt oder ein Benutzer den Chatraum verlässt, wird das Objekt aktualisiert, und die aktualisierte Liste der Chatraum-Benutzer wird auf allen mit dem Objekt verbundenen Clients angezeigt.

Um ein gemeinsames lokales Objekt zu erstellen, rufen Sie SharedObject.getLocal() auf. Um ein gemeinsames Remote-Objekt zu erstellen, rufen Sie SharedObject.getRemote() auf.

Wenn eine Anwendung geschlossen wird, werden gemeinsame Objekte an eine Festplatte ausgegeben (flush) oder geschrieben. Sie können auch die flush()-Methode aufrufen, um die Daten ausdrücklich auf eine Festplatte zu schreiben.

Lokaler Speicherplatz. Lokale gemeinsame Objekte bringen einige Beschränkungen mit sich, die beim Entwurf einer Anwendung unbedingt zu berücksichtigen sind. Es kann vorkommen, dass die SWF-Dateien nicht zum Schreiben lokaler gemeinsamer Objekte berechtigt sind oder die in lokalen gemeinsamen Objekten gespeicherten Daten ohne Ihr Wissen gelöscht werden. Flash Player-Benutzer haben die Möglichkeit, den Speicherplatz, der einzelnen oder allen Domänen zur Verfügung steht, selbst zu verwalten. Wenn die Benutzer den bereitgestellten Speicherplatz verringern, könnten einige lokale gemeinsame Objekte gelöscht werden. Außerdem stehen Flash Player-Benutzern Sicherheitseinstellungen zur Verfügung, mit denen sie verhindern können, dass Domänen von Dritten (andere Domänen als die in der aktuellen Browser-Adressleiste angezeigte) lokale gemeinsame Objekte lesen oder schreiben. Beachten Sie des Weiteren, dass unter Mac OS ab AIR 3.3. ein anderer Speicherort für lokale gemeinsame Objekte verwendet wird. Wenn Sie also ein Upgrade auf den 3.3. Namespace ausführen, kann es so aussehen, als ob die Objekte verloren gegangen sind.

Hinweis: SWF-Dateien, die auf einem lokalen Computer gespeichert sind und ausgeführt werden, können gemeinsame Objekte von Dritten stets auf Festplatte schreiben. Nähere Informationen zu gemeinsamen Objekten von Dritten finden Sie in der Flash Player-Hilfe unter Global Speichereinstellungen.

Es wird empfohlen, Prüfungen auf Probleme im Zusammenhang mit dem Speicherplatz und den Benutzer-Sicherheitseinstellungen durchzuführen. Nehmen Sie diese Prüfungen vor, wenn Sie getLocal() und flush() aufrufen:

  • SharedObject.getLocal(): Flash Player gibt eine Ausnahme aus, wenn der Aufruf dieser Methode fehlschlägt, z. B. wenn der Benutzer gemeinsame Objekte von Dritten deaktiviert hat und die Domäne Ihrer SWF-Datei nicht mit der Domäne in der Browser-Adressleiste übereinstimmt.
  • SharedObject.flush(): Flash Player gibt eine Ausnahme aus, wenn der Aufruf dieser Methode fehlschlägt. Wenn der Aufruf erfolgreich ist, wird SharedObjectFlushStatus.FLUSHED zurückgegeben. Wenn zusätzlicher Speicher erforderlich ist, wird SharedObjectFlushStatus.PENDING zurückgegeben. Flash Player fordert den Benutzer auf, zusätzlichen Speicherplatz für lokal gespeicherte Informationen zu genehmigen. Dann wird das Ereignis netStatus mit einem Informationsobjekt ausgelöst, das angibt, ob die Datenausgabe erfolgreich war oder fehlgeschlagen ist.

Wenn die SWF-Datei versucht, lokale gemeinsame Objekte zu erstellen oder zu bearbeiten, muss sie mindestens 215 Pixel breit und 138 Pixel hoch sein. Dies sind die Mindestmaße für die Anzeige des Dialogfelds, mit dem der Benutzer aufgefordert wird, den maximalen Speicherplatz für lokale gemeinsame Objekte zu erhöhen. Wenn Ihre SWF-Datei kleiner ist und zusätzlicher Speicherplatz benötigt wird, schlägt SharedObject.flush() fehl, gibt SharedObjectFlushedStatus.PENDING zurück und löst das Ereignis netStatus aus.

Gemeinsame Remote-Objekte: Mit Flash Media Server können Sie gemeinsame Remote-Objekte erstellen und verwenden, die in Echtzeit von allen Clients, die mit Ihrer Anwendung verbunden sind, verwendet werden können. Wenn ein Client eine Eigenschaft eines gemeinsamen Remote-Objekts ändert, wird die Eigenschaft für alle verbundenen Clients geändert. Sie können gemeinsame Remote-Objekte verwenden, um Clients zu synchronisieren, zum Beispiel in einem Spiel mit mehreren Spielern.

Jedes gemeinsame Remote-Objekt verfügt über eine data-Eigenschaft, bei der es sich um ein Objekt mit Eigenschaften handelt, das Daten speichert. Rufen Sie setProperty() auf, um eine Eigenschaft des Data-Objekts zu ändern. Der Server aktualisiert die Eigenschaften, löst ein sync-Ereignis aus und sendet die Eigenschaften zurück an die verbundenen Clients.

Sie können gemeinsame Remote-Objekte auf dem Client, auf dem Server oder auf beiden speichern. Standardmäßig speichert Flash Player gemeinsame Remote-Objekte einer Größe von bis zu 100K lokal. Wenn Sie versuchen, ein größeres Objekt zu speichern, zeigt Flash Player das Dialogfeld für den lokalen Speicher an, in dem der Benutzer die lokale Speicherung des gemeinsamen Objekts zulassen oder ablehnen kann. Achten Sie darauf, dass die Bühnengröße mindestens 215 mal 138 Pixel beträgt. Dies ist die Mindestgröße, die Flash für die Anzeige des Dialogfelds benötigt.

Wählt der Benutzer „Zulassen“, speichert der Server das gemeinsame Objekt und löst ein netStatus-Ereignis mit einer code-Eigenschaft von SharedObject.Flush.Success aus. Wählt der Benutzer „Verweigern“, speichert der Server das gemeinsame Objekt nicht und löst ein netStatus-Ereignis mit einer code-Eigenschaft von SharedObject.Flush.Failed aus.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  client : Object
Gibt das Objekt an, bei dem Callback-Methoden aufgerufen werden.
SharedObject
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  data : Object
[schreibgeschützt] Die Sammlung von Attributen, die der Eigenschaft „data“ des Objekts zugewiesen sind. Diese Attribute können gemeinsam genutzt und gespeichert werden.
SharedObject
  defaultObjectEncoding : uint
[statisch] Die Standardobjektkodierung (AMF-Version) für alle in der SWF-Datei erstellten lokalen gemeinsamen Objekte.
SharedObject
  fps : Number
[Nur Schreiben] Gibt an, wie oft pro Sekunde die clientseitigen Änderungen an einem gemeinsamen Objekt an den Server gesendet werden.
SharedObject
  objectEncoding : uint
Die Objektkodierung (AMF-Version) für dieses gemeinsame Objekt.
SharedObject
      preventBackup : Boolean
[statisch] Gibt an, ob lokal freigegebene Objekte auf dem iOS-Cloud-Sicherungsdienst gesichert werden.
SharedObject
  size : uint
[schreibgeschützt] Ruft die aktuelle Größe des gemeinsamen Objekts in Byte ab.
SharedObject
Öffentliche Methoden
 MethodeDefiniert von
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
Lokale gemeinsame Objekte: Entfernt alle Daten und löscht das gemeinsame Objekt von der Festplatte.
SharedObject
  
Schließt die Verbindung zwischen einem gemeinsamen Remote-Objekt und dem Server.
SharedObject
  
connect(myConnection:NetConnection, params:String = null):void
Stellt über ein angegebenes NetConnection-Objekt eine Verbindung zu einem gemeinsamen Remote-Objekt her.
SharedObject
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
  
flush(minDiskSpace:int = 0):String
Schreibt ein lokal permanentes gemeinsames Objekt in eine lokale Datei.
SharedObject
  
getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject
[statisch] Gibt einen Verweis auf ein lokal permanentes gemeinsames Objekt zurück, das nur für den aktuellen Client verfügbar ist.
SharedObject
  
getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject
[statisch] Gibt einen Verweis auf das gemeinsame Objekt auf Flash Media Server zurück, auf das mehrere Clients zugreifen können.
SharedObject
 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
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
send(... arguments):void
Überträgt eine Meldung an alle mit einem gemeinsamen Remote-Objekt verbundenen Clients, einschließlich des Clients, von dem die Meldung gesendet wurde.
SharedObject
  
setDirty(propertyName:String):void
Weist den Server an, dass der Wert einer Eigenschaft im gemeinsamen Objekt geändert wurde.
SharedObject
  
setProperty(propertyName:String, value:Object = null):void
Aktualisiert den Wert einer Eigenschaft in einem gemeinsamen Objekt und informiert den Server, dass der Wert der Eigenschaft geändert wurde.
SharedObject
 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
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 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 ausgelöst, wenn eine Ausnahme asynchron, d. h. aus nativem asynchronem Code ausgelöst wird.SharedObject
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird ausgelöst, wenn der Status oder die Fehlerbedingung einer SharedObject-Instanz protokolliert wird.SharedObject
  Wird ausgelöst, wenn ein gemeinsames Remote-Objekt vom Server aktualisiert wurde.SharedObject
Eigenschaftendetails

client

Eigenschaft
client:Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt das Objekt an, bei dem Callback-Methoden aufgerufen werden. Das Standardobjekt ist this. Wenn Sie die client-Eigenschaft auf ein anderes Objekt einstellen, werden die Callback-Methoden bei dem eingestellten Objekt aufgerufen.



Implementierung
    public function get client():Object
    public function set client(value:Object):void

Auslöser
TypeError — Die client-Eigenschaft muss auf ein Objekt eingestellt werden, das nicht null ist.

data

Eigenschaft 
data:Object  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Sammlung von Attributen, die der data-Eigenschaft des Objekts zugewiesen sind. Diese Attribute können gemeinsam genutzt und gespeichert werden. Jedes Attribut ist ein Objekt eines beliebigen ActionScript- oder JavaScript-Typs: Array, Number, Boolean, ByteArray, XML usw. Mit den folgenden Zeilen werden beispielsweise verschiedenen Aspekten eines gemeinsamen Objekts Werte zugewiesen:

     var items_array:Array = new Array(101, 346, 483);
     var currentUserIsAdmin:Boolean = true;
     var currentUserName:String = "Ramona";
     
     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.data.itemNumbers = items_array;
     my_so.data.adminPrivileges = currentUserIsAdmin;
     my_so.data.userName = currentUserName;
     
     for (var prop in my_so.data) {
       trace(prop+": "+my_so.data[prop]);
     }
     

Alle Attribute der data-Eigenschaft eines gemeinsamen Objekts werden gespeichert, wenn das Objekt dauerhaft ist, und das gemeinsame Objekt enthält die folgenden Informationen:

     userName: Ramona
     adminPrivileges: true
     itemNumbers: 101,346,483
     

Hinweis: Weisen Sie der data-Eigenschaft eines gemeinsamen Objekts keine Werte direkt zu, wie in so.data = someValue. Flash Player ignoriert diese Zuweisungen.

Um Attribute von lokalen gemeinsamen Objekten zu löschen, verwenden Sie folgende Syntax: delete so.data.attributeName. Das Attribut eines lokalen gemeinsamen Objekts wird nicht gelöscht, wenn Sie es auf null oder undefined setzen.

Um als privat definierte Werte für ein gemeinsames Objekt zu erstellen (d. h. Werte, die nur für die Client-Instanz verfügbar sind, wenn das Objekt verwendet wird, und die beim Schließen nicht zusammen mit dem Objekt gespeichert werden), erstellen Sie zum Speichern Eigenschaften, die nicht data heißen (siehe folgendes Beispiel).

     var my_so:SharedObject = SharedObject.getLocal("superfoo");
     my_so.favoriteColor = "blue";
     my_so.favoriteNightClub = "The Bluenote Tavern";
     my_so.favoriteSong = "My World is Blue";
     
     for (var prop in my_so) {
       trace(prop+": "+my_so[prop]);
     }
     

Das gemeinsame Objekt enthält die folgenden Daten:

     favoriteSong: My World is Blue
     favoriteNightClub: The Bluenote Tavern
     favoriteColor: blue
     data: [object Object]
     

Bei gemeinsamen Remote-Objekten, die mit einem Server verwendet werden, stehen alle Attribute der data-Eigenschaft allen mit dem Objekt verbundenen Clients zur Verfügung, und alle Attribute werden gespeichert, wenn es sich um ein permanentes Objekt handelt. Wenn ein Client den Wert eines Attributs ändert, sehen alle Clients den neuen Wert.



Implementierung
    public function get data():Object

Verwandte API-Elemente

defaultObjectEncoding

Eigenschaft 
defaultObjectEncoding:uint

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Standardobjektkodierung (AMF-Version) für alle in der SWF-Datei erstellten lokalen gemeinsamen Objekte. Wenn lokale gemeinsame Objekte auf Festplatte geschrieben werden, gibt die Eigenschaft SharedObject.defaultObjectEncoding an, welche AMF-Version verwendet werden soll: ActionScript 3.0 (AMF3) oder ActionScript 1.0 oder 2.0 (AMF0).

Nähere Informationen zur Objektkodierung einschließlich der Kodierungsunterschiede zwischen gemeinsamen lokalen und Remote-Objekten finden Sie in der Beschreibung der Eigenschaft objectEncoding.

Standardmäßig wird SharedObject.defaultObjectEncoding auf die Verwendung des Formats ActionScript 3.0 (AMF3) eingestellt. Wenn Sie lokale gemeinsame Objekte benötigen, die von im Format ActionScript 2.0 oder 1.0 geschriebenen SWF-Dateien gelesen werden können, stellen Sie SharedObject.defaultObjectEncoding am Skriptanfang auf die Verwendung des Formats ActionScript 1.0 bzw. ActionScript 2.0 ein (flash.net.ObjectEncoding.AMF0), bevor Sie mit der Erstellung lokaler Objekte beginnen. Alle danach erstellten lokalen gemeinsamen Objekte verwenden die AMF0-Kodierung und unterstützen somit ältere Inhalte. Es ist nicht möglich, den objectEncoding-Wert bereits erstellter lokaler gemeinsamer Objekte durch die Einstellung von SharedObject.defaultObjectEncoding zu ändern.

Um die Objektkodierung für die einzelnen Objekte anstatt für alle von der SWF-Datei erstellten gemeinsamen Objekte einzustellen, setzen Sie die objectEncoding-Eigenschaft stattdessen auf das jeweilige lokale gemeinsame Objekt.



Implementierung
    public static function get defaultObjectEncoding():uint
    public static function set defaultObjectEncoding(value:uint):void

Verwandte API-Elemente

fps

Eigenschaft 
fps:Number  [Nur Schreiben]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt an, wie oft pro Sekunde die clientseitigen Änderungen an einem gemeinsamen Objekt an den Server gesendet werden.

Verwenden Sie diese Methode, wenn Sie den Umfang des Datenverkehrs zwischen Client und Server steuern möchten. Beispiel: Wenn die Verbindungsgeschwindigkeit zwischen Client und Server ziemlich langsam ist, empfiehlt es sich, fps auf einen relativ niedrigen Wert zu setzen. Wenn der Client jedoch mit einer Multiuser-Anwendung verbunden ist und es auf die zeitliche Koordinierung ankommt, sollten Sie fps auf einen relativ hohen Wert setzen.

Durch Festlegen von fps wird ein sync-Ereignis ausgelöst und alle Änderungen werden beim Server aktualisiert. Wenn Sie den Server ausschließlich manuell aktualisieren möchten, müssen Sie fps auf 0 setzen.

Erst nach Auslösung des Ereignisses sync, werden die Änderungen an den Server gesendet. Das heißt, bei einer langsamen Reaktionszeit des Servers werden Aktualisierungen möglicherweise weniger häufig an den Server gesendet als in dieser Eigenschaft angegeben.



Implementierung
    public function set fps(value:Number):void

objectEncoding

Eigenschaft 
objectEncoding:uint

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Objektkodierung (AMF-Version) für dieses gemeinsame Objekt. Wenn ein lokales gemeinsames Objekt auf Festplatte geschrieben wird, gibt die Eigenschaft objectEncoding an, welche AMF-Version verwendet werden soll: ActionScript 3.0 (AMF3) oder ActionScript 1.0 oder 2.0 (AMF0).

Die Objektkodierung wird unterschiedlich gehandhabt, je nachdem, ob es sich um ein lokales gemeinsames Objekt oder um ein gemeinsames Remote-Objekt handelt.

  • Lokale gemeinsame Objekte: Sie können den Wert der Eigenschaft objectEncoding für lokale gemeinsame Objekte abrufen oder einstellen. Mit dem Wert für objectEncoding wird festgelegt, welche Formatierung zum Schreiben dieses lokalen gemeinsamen Objekts verwendet wird. Wenn das Objekt von SWF-Dateien gelesen werden muss, die mit ActionScript 2.0 oder 1.0 geschrieben wurden, setzen Sie objectEncoding auf ObjectEncoding.AMF0. Auch wenn die Objektkodierung so eingestellt ist, dass im Format AMF3 geschrieben wird, kann Flash Player lokale gemeinsame Objekte im Format AMF0 lesen. Das heißt, wenn Sie den Standardwert für diese Eigenschaft verwenden (ObjectEncoding.AMF3), kann Ihre SWF-Datei trotzdem gemeinsame Objekte lesen, die mit ActionScript 2.0- oder 1.0-SWF-Dateien erstellt wurden.
  • Gemeinsame Remote-Objekte: Bei einer Verbindung mit dem Server übernimmt ein gemeinsames Remote-Objekt seine objectEncoding-Einstellung von der verknüpften NetConnection-Instanz (die zum Verbinden des gemeinsamen Remote-Objekts verwendete Instanz). Ohne Serververbindung übernimmt das gemeinsame Remote-Objekt die defaultObjectEncoding-Einstellung von der verknüpften NetConnection-Instanz. Da bei gemeinsamen Remote-Objekten der Wert der Eigenschaft objectEncoding durch die NetConnection-Instanz bestimmt wird, ist diese Eigenschaft für gemeinsame Remote-Objekte schreibgeschützt.



Implementierung
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Auslöser
ReferenceError — Sie haben versucht, den Wert für die objectEncoding-Eigenschaft eines gemeinsamen Remote-Objekts einzustellen. Diese Eigenschaft ist für gemeinsame Remote-Objekte schreibgeschützt, da dieser Wert von der verknüpften NetConnection-Instanz festgelegt wird.

Verwandte API-Elemente

    

preventBackup

Eigenschaft 
preventBackup:Boolean

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 3.7

Gibt an, ob lokal freigegebene Objekte auf dem iOS-Cloud-Sicherungsdienst gesichert werden.

Geben Sie „true“ oder „false“ an:

  • true – verhindert, dass alle lokal freigegebenen Objekte im iOS-Cloud-Sicherungsdienst gesichert werden.
  • false (Standard) – lokal freigegebene Objekte werden im iOS-Cloud-Sicherungsdienst gesichert.

Diese Eigenschaft gilt nur für lokal freigegebene Objekte und iOS.



Implementierung
    public static function get preventBackup():Boolean
    public static function set preventBackup(value:Boolean):void

size

Eigenschaft 
size:uint  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ruft die aktuelle Größe des gemeinsamen Objekts in Byte ab.

Um die Größe eines gemeinsamen Objekts zu berechnen, analysiert Flash die einzelnen Dateneigenschaften des Objekts. Je mehr Dateneigenschaften ein Objekt aufweist, desto länger dauert es, die Größe zu ermitteln. Das Schätzen der Objektgröße kann sehr viel Verarbeitungszeit beanspruchen. Deshalb sollten Sie diese Methode vermeiden, sofern sie nicht wirklich erforderlich ist.



Implementierung
    public function get size():uint

Beispiel  ( Verwendung dieses Beispiels )
Mit dem folgenden Code wird ein SharedObject-Objekt mit der ID "thehobbit" erstellt. Eine Eigenschaft mit dem Namen username wird der Eigenschaft „data“ des SharedObject-Objekts hinzugefügt. Die Eigenschaft size gibt dann den angegebenen Wert zurück.
import flash.net.SharedObject;

// if these get copied or not
var mySo:SharedObject = SharedObject.getLocal("thehobbit");
mySo.data.username = "bilbobaggins";
trace(mySo.size); // 55
Methodendetails

clear

()Methode
public function clear():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Lokale gemeinsame Objekte: Entfernt alle Daten und löscht das gemeinsame Objekt von der Festplatte. Der Verweis auf das gemeinsame Objekt ist weiterhin aktiv, die zugehörigen Dateneigenschaften werden jedoch gelöscht.

Für gemeinsame Remote-Objekte, die mit Flash Media Server verwendet werden, trennt clear() die Verbindung zum Objekt und löscht alle Daten. Wenn das gemeinsame Objekt lokal gespeichert wird, wird es mit dieser Methode auch von der Festplatte gelöscht. Der Verweis auf das gemeinsame Objekt ist weiterhin aktiv, die zugehörigen Dateneigenschaften werden jedoch gelöscht.


Beispiel  ( Verwendung dieses Beispiels )

Mit dem folgenden Code wird ein SharedObject-Objekt mit der ID hostName erstellt (und in anschließenden Durchläufen abgerufen). Eine Eigenschaft mit dem Namen username wird der Eigenschaft „data“ des SharedObject-Objekts hinzugefügt. Anschließend wird die Methode clear() aufgerufen, die alle Informationen löscht, die dem Datenobjekt hinzugefügt wurden (in diesem Fall die Eigenschaft username).
package {
    import flash.net.SharedObject;

    public class SharedObject_clear {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_clear() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            if(mySo.data.username == null) {
                mySo.data.username = username;
                trace("set: " + mySo.data.username); // yourUsername
            }
            else {
                mySo.clear();
                trace("cleared: " + mySo.data.username); // undefined
            }
        }
    }
}

close

()Methode 
public function close():void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Schließt die Verbindung zwischen einem gemeinsamen Remote-Objekt und dem Server. Wenn ein gemeinsames Remote-Objekt permanent lokal gespeichert ist, kann der Benutzer nach dem Aufruf dieser Methode Änderungen an der lokalen Kopie vornehmen. Das nächste Mal, wenn der Benutzer eine Verbindung zu dem gemeinsamen Remote-Objekt herstellt, werden diese Änderungen an den Server gesendet.

connect

()Methode 
public function connect(myConnection:NetConnection, params:String = null):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Stellt über ein angegebenes NetConnection-Objekt eine Verbindung zu einem gemeinsamen Remote-Objekt her. Verwenden Sie diese Methode nach dem Aufruf von getRemote(). Wird die Verbindung erfolgreich hergestellt, wird das sync-Ereignis ausgelöst.

Bevor Sie beginnen, mit einem gemeinsamen Remote-Objekt zu arbeiten, prüfen Sie, ob Fehler vorliegen, indem Sie eine try..catch..finally Anweisung. Warten Sie dann auf das Ereignis sync und verarbeiten Sie es, bevor Sie Änderungen am gemeinsamen Objekt vornehmen. Alle Änderungen, die lokal vor dem Auslösen des sync-Ereignisses vorgenommen werden, können verloren gehen.

Rufen Sie die connect()-Methode auf, um eine Verbindung zu einem gemeinsamen Remote-Objekt herzustellen, zum Beispiel:

     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
     myRemoteSO.connect(myNC);
     

Parameter

myConnection:NetConnection — Ein NetConnection-Objekt, das das Real-Time Messaging Protocol (RTMP) verwendet, zum Beispiel für die Kommunikation mit Flash Media Server.
 
params:String (default = null) — Ein String, der eine Meldung definiert, die an das gemeinsame Remote-Objekt auf dem Server übergeben wird. Kann nicht mit Flash Media Server verwendet werden.


Auslöser
Error — Flash Player konnte keine Verbindung zu dem angegebenen gemeinsamen Remote-Objekt herstellen. Vergewissern Sie sich, dass die NetConnection-Instanz gültig und verbunden ist und dass das gemeinsame Remote-Objekt erfolgreich auf dem Server erstellt wurde.

Verwandte API-Elemente

flush

()Methode 
public function flush(minDiskSpace:int = 0):String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Schreibt ein lokal permanentes gemeinsames Objekt in eine lokale Datei. Wenn Sie diese Methode nicht verwenden, schreibt Flash Player das gemeinsame Objekt in eine Datei, wenn die Sitzung des gemeinsamen Objekts endet, d. h., wenn die SWF-Datei geschlossen wird, wenn das gemeinsame Objekt gelöscht wird, weil keine weiteren Verweise darauf vorhanden sind, oder wenn Sie SharedObject.clear() oder SharedObject.close() aufrufen.

Wenn diese Methode SharedObjectFlushStatus.PENDING zurückgibt, fordert Flash Player den Benutzer in einem Dialogfeld auf, mehr Speicherplatz für Objekte dieser Domäne bereitzustellen. Wenn der Speicherplatz für das gemeinsame Objekt in Zukunft zunehmen darf, um die Rückgabe des Werts PENDING zu vermeiden, belegen Sie minDiskSpace mit einem Wert. Bei dem Versuch, eine Datei zu schreiben, ermittelt Flash Player die Anzahl der an minDiskSpace übergebenen Byte, anstatt lediglich zu überprüfen, ob der vorhandene Platz zum Speichern des gemeinsamen Objekts in der aktuellen Größe ausreicht.

Wenn Sie beispielsweise annehmen, dass ein gemeinsames Objekt maximal 500 Byte groß wird, übergeben Sie 500 als Wert für minDiskSpace, auch wenn die Datei zunächst viel kleiner ist. Flash fordert dann den Benutzer auf, für das gemeinsame Objekt 500 Byte Speicherplatz bereitzustellen. Wenn der Benutzer den gewünschten Speicherplatz zuweist, ist es in Zukunft beim Ausgeben des Objekts nicht erforderlich, mehr Speicherplatz anzufordern (sofern die Größe 500 Byte nicht übersteigt).

Nachdem der Benutzer auf dieses Dialogfeld reagiert hat, wird diese Methode erneut aufgerufen. Ein netStatus-Ereignis wird mit der code-Eigenschaft SharedObject.Flush.Success oder SharedObject.Flush.Failed ausgelöst

Parameter

minDiskSpace:int (default = 0) — Der minimale Speicherplatz in Byte, der für dieses Objekt zugewiesen werden muss.

Rückgabewerte
String — Einer der folgenden Werte:
  • SharedObjectFlushStatus.PENDING: Der Benutzer hat das Speichern lokaler Daten für Objekte dieser Domäne zugelassen, der zugewiesene Platz reicht aber zum Speichern des Objekts nicht aus. Flash Player fordert den Benutzer auf, zusätzlichen Speicherplatz zuzuweisen. Wenn der Speicherplatz für das gemeinsame Objekt in Zukunft zunehmen darf, um die Rückgabe des Werts SharedObjectFlushStatus.PENDING zu vermeiden, belegen Sie minDiskSpace mit einem Wert.
  • SharedObjectFlushStatus.FLUSHED: Das gemeinsame Objekt wurde erfolgreich in eine Datei auf der lokalen Festplatte geschrieben.

Auslöser
Error — Flash Player kann das gemeinsame Objekt nicht auf Festplatte schreiben. Dieser Fehler kann auftreten, wenn der Benutzer das Speichern lokaler Daten für Objekte dieser Domäne generell nicht zugelassen hat.

Hinweis: Über lokale Inhalte können immer gemeinsame Objekte von Dritt-Domänen (anderen Domänen als der in der Adresszeile des Browsers) auf Festplatte geschrieben werden, auch wenn das Schreiben gemeinsamer Objekte durch Dritt-Domänen nicht zulässig ist.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Mit dem folgenden Code wird ein SharedObject-Objekt mit der ID hostName erstellt (und in anschließenden Durchläufen abgerufen). Eine Eigenschaft mit dem Namen username wird der Eigenschaft „data“ des SharedObject-Objekts hinzugefügt. Anschließend wird die Methode flush() aufgerufen, und es wird überprüft, ob der String pending oder der boolesche Wert true bzw. false zurückgegeben wurde. Beachten Sie, dass alle geöffneten SharedObject-Instanzen automatisch ausgegeben werden, wenn die aktuelle Flash Player-Instanz geschlossen wird.
package {
    import flash.net.SharedObject;

    public class SharedObject_flush {
        private var hostName:String = "yourDomain";
        private var username:String = "yourUsername";

        public function SharedObject_flush() {
            var mySo:SharedObject = SharedObject.getLocal(hostName);
            mySo.data.username = username;
            var flushResult:Object = mySo.flush();
            trace("flushResult: " + flushResult);
            trace(mySo.data.username); // yourUsername
        }
    }
}

getLocal

()Methode 
public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt einen Verweis auf ein lokal permanentes gemeinsames Objekt zurück, das nur für den aktuellen Client verfügbar ist. Falls das gemeinsam genutzte Objekt nicht bereits existiert, wird es durch diese Methode erstellt. Wenn einer oder mehrere der an getLocal() übergebenen Werte ungültig sind oder der Aufruf fehlschlägt, gibt Flash Player eine Ausnahme aus.

Anhand des folgenden Codes wird gezeigt, wie Sie den zurückgegebenen Verweis auf ein gemeinsames Objekt einer Variablen zuordnen:

var so:SharedObject = SharedObject.getLocal("savedData");

Hinweis: Wenn der Benutzer für diese Domäne generell keine lokale Speicherung zulässt, wird das Objekt auch dann nicht lokal gespeichert, wenn für localPath ein lokaler Pfad angegeben wurde. Es gibt eine Ausnahme zu dieser Regel: lokale Inhalte. Über lokale Inhalte können immer gemeinsam genutzte Objekte von Dritt-Domänen (anderen Domänen als der in der Adresszeile des Browsers) auf Festplatte geschrieben werden, auch wenn das Schreiben gemeinsam genutzter Objekte durch Dritt-Domänen nicht zulässig ist.

Um Namenskonflikte zu vermeiden, wird in Flash auch der Speicherort der SWF-Datei einbezogen, die das gemeinsame Objekt erstellt hat. Wenn zum Beispiel eine SWF-Datei auf www.meineFirma.com/apps/stockwatcher.swf ein gemeinsames Objekt namens portfolio erstellt, entsteht kein Konflikt mit einem anderen, ebenfalls portfolio genannten Objekt, das von einer SWF-Datei auf www.IhreFirma.com/photoshoot.swf erstellt wurde, weil die beiden SWF-Dateien aus zwei verschiedenen Verzeichnissen stammen.

localPath ist zwar ein optionaler Parameter, dennoch sollten Sie seine Verwendung in Erwägung ziehen, insbesondere wenn andere SWF-Dateien auf das gemeinsame Objekt zugreifen müssen. Wenn die Daten im gemeinsamen Objekt speziell für eine SWF-Datei gelten, die nicht an einen anderen Speicherort verschoben wird, ist die Verwendung des Standardwertes sinnvoll. Wenn andere SWF-Dateien auf das gemeinsame Objekt zugreifen müssen oder wenn die SWF-Datei, die das gemeinsame Objekt erstellt, zu einem späteren Zeitpunkt verschoben wird, kann der Wert dieses Parameters entscheidend dafür sein, ob SWF-Dateien auf das gemeinsame Objekt zugreifen können. Wenn Sie beispielsweise ein gemeinsames Objekt erstellen und für localPath der Standardwert des vollständigen Pfads zur SWF-Datei eingestellt ist, kann keine andere SWF-Datei auf das gemeinsame Objekt zugreifen. Wenn Sie die Original-SWF-Datei später an einen anderen Speicherort verschieben, kann selbst diese SWF-Datei nicht mehr auf die bereits im gemeinsamen Objekt gespeicherten Daten zugreifen.

Verwenden Sie den Parameter localpath, um die versehentliche Beschränkung des Zugriffs auf ein gemeinsames Objekt zu vermeiden. Wenn Sie möchten, dass das gemeinsame Objekt für alle SWF-Dateien in der Domäne verfügbar ist, setzen Sie den Parameter localPath auf / (Schrägstrich). Dadurch wird jedoch das Risiko der Namenskonflikte mit anderen gemeinsamen Objekten in der Domäne erhöht. Sie können die Möglichkeiten ein Stück weit einschränken, indem Sie den Parameter localPath auf Ordnernamen aus dem vollständigen Pfad der SWF-Datei setzen. Beispiel: Für das von der SWF-Datei unter www.myCompany.com/apps/stockwatcher.swf erstellte gemeinsame Objekt portfolio können Sie den Parameter localPath auf /, /apps oder /apps/stockwatcher.swf setzen. Welcher Ansatz für Ihre Anwendung die meiste Flexibilität bietet, ist von der jeweiligen Anwendung abhängig.

Beachten Sie bei Verwendung dieser Methode das folgende Sicherheitsmodell von:

  • Auf gemeinsam genutzte Objekte kann nicht über Sandbox-Grenzen hinweg zugegriffen werden.
  • Benutzer können den Zugriff auf gemeinsam genutzte Objekte über das Flash Player-Dialogfeld „Einstellungen“ oder über den Einstellungsmanager einschränken. Standardmäßig kann eine Anwendung gemeinsame Objekte mit einem Datenumfang von bis zu 100 KB pro Domäne erstellen. Administratoren und Benutzer können auch Einschränkungen für Schreibberechtigungen im Dateisystem festlegen.

Beispiel: Sie veröffentlichen die Inhalte einer SWF-Datei für die Wiedergabe als lokale Dateien (entweder lokal installierte SWF-Dateien oder EXE-Dateien) und müssen von mehreren lokalen SWF-Dateien auf ein bestimmtes gemeinsames Objekt zugreifen. In dieser Situation müssen Sie darauf achten, dass für die lokalen Dateien möglicherweise zwei verschiedene Speicherorte zur Speicherung von gemeinsamen Objekten verwendet werden. Welche Domäne verwendet wird, hängt von den Sicherheitsberechtigungen der lokalen Datei ab, die das gemeinsame Objekt erstellt hat. Für lokale Dateien sind drei verschiedene Berechtigungsstufen möglich:

  1. Nur Zugriff auf das lokale Dateisystem
  2. Nur Zugriff auf das Netzwerk
  3. Zugriff auf das Netzwerk und auf das lokale Dateisystem

Lokale Dateien mit Zugriff auf das lokale Dateisystem (Stufe 1 oder 3) speichern gemeinsame Objekte an einem Speicherort. Lokale Dateien ohne Zugriff auf das lokale Dateisystem (Stufe 2) speichern gemeinsame Objekte an einem anderen Speicherort.

Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter allowNetworking der Tags object und embed festlegen.

Weitere Informationen finden Sie im Flash Player Developer Center im Abschnitt Sicherheit.

Parameter

name:String — Der Name des Objekts. Der Name darf Schrägstriche (/) enthalten. So ist beispielsweise work/addresses ein gültiger Name. Der Name eines gemeinsamen Objekts darf weder Leerzeichen noch folgende Zeichen enthalten:
  ~ % & \ ; : " ' , < > ? # 
  
 
localPath:String (default = null) — Der vollständige oder Teilpfad zur SWF-Datei, die das gemeinsame Objekt erstellt hat und die den lokalen Speicherort des gemeinsamen Objekts festlegt. Wenn Sie diesen Parameter nicht angeben, wird der vollständige Pfad verwendet.
 
secure:Boolean (default = false) — Hiermit wird festgelegt, ob der Zugriff auf dieses gemeinsame Objekt auf SWF-Dateien beschränkt wird, die über eine HTTPS-Verbindung bereitgestellt werden. Wenn die SWF-Datei über eine HTTPS-Verbindung bereitgestellt wird, hat der Wert dieses Parameters folgende Auswirkungen:
  • Falls dieser Parameter auf true gesetzt wird, erstellt Flash Player ein neues sicheres gemeinsam genutztes Objekt oder ruft einen Verweis auf ein vorhandenes sicheres gemeinsam genutztes Objekt ab. Dieses sichere gemeinsam genutzte Objekt kann nur durch SWF-Dateien gelesen oder geschrieben werden, die über HTTPS bereitgestellt werden und SharedObject.getLocal() mit der Einstellung true für den secure-Parameter aufrufen.
  • Wenn dieser Parameter auf false gesetzt wird, erstellt Flash Player ein neues gemeinsames Objekt oder ruft den Verweis auf ein vorhandenes gemeinsames Objekt ab, das durch SWF-Dateien gelesen oder geschrieben werden kann, die über andere Verbindungen als HTTPS bereitgestellt werden.

Wenn die SWF-Datei über eine andere Verbindung als HTTPS bereitgestellt wird und Sie diesen Parameter auf true setzen, tritt bei der Erstellung des neuen gemeinsam genutzten Objekts (bzw. beim Zugriff auf ein zuvor erstelltes sicheres gemeinsam genutztes Objekt) ein Fehler auf, und es wird null zurückgegeben. Unabhängig vom Wert dieses Parameters belegen die erstellten gemeinsamen Objekte einen Teil des von einer Domäne belegten Speicherplatzes.

Aus dem folgenden Diagramm geht die Verwendung des Parameters secure hervor.

Diagramm eines sicheren gemeinsam genutzten Objekts

Rückgabewerte
SharedObject — Gibt einen Verweis auf ein lokal permanentes gemeinsames Objekt zurück, das nur für den aktuellen Client verfügbar ist. Wenn Flash Player das gemeinsame Objekt nicht erstellen oder finden kann (wenn beispielsweise das mit localPath angegebene Verzeichnis nicht vorhanden ist), löst diese Methode eine Ausnahme aus.

Auslöser
Error — Flash Player kann das gemeinsame Objekt nicht erstellen. Dieser Fehler kann auftreten, wenn das Erstellen und Speichern von permanenten gemeinsamen Objekten durch Flash-Inhalte Dritter nicht erlaubt ist (gilt nicht für lokale Inhalte). Benutzer können unter http://www.adobe.com/support/documentation/de/flashplayer/help/settings_manager03.html im Einstellungsmanager im Bedienfeld „Globale Speichereinstellungen“ festlegen, dass permanente gemeinsame Objekte von Dritten nicht zulässig sind.

getRemote

()Methode 
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt einen Verweis auf das gemeinsame Objekt auf Flash Media Server zurück, auf das mehrere Clients zugreifen können. Falls das gemeinsame Remote-Objekt nicht bereits existiert, wird es durch diese Methode erstellt.

Um ein gemeinsames Remote-Objekt zu erstellen, rufen Sie getRemote() nach dem Aufruf von connect() auf, um das gemeinsame Remote-Objekt mit dem Server zu verbinden wie im folgenden Beispiel:

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://somedomain.com/applicationName");
     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", nc.uri, false);
     myRemoteSO.connect(nc);
     

Mit dem Ereignis sync wird bestätigt, dass die lokalen und Remote-Kopien des gemeinsamen Objekts synchronisiert sind. Alle Clients, die dieses Objekt gemeinsam verwenden sollen, müssen dieselben Werte für die Parameter name und remotePath übergeben.

Zur Erstellung eines gemeinsamen Objekts, das nur für den aktuellen Client verfügbar ist, verwenden SieSharedObject.getLocal().

Parameter

name:String — Der Name des gemeinsamen Remote-Objekts. Der Name kann Schrägstriche (/) enthalten. So ist beispielsweise „work/addresses“ ein gültiger Name. Der Name eines gemeinsamen Objekts darf weder Leerzeichen noch folgende Zeichen enthalten:
    ~ % & \ ; :  " ' , > ? ? #
 
remotePath:String (default = null) — Der URI des Servers, auf dem das gemeinsame Objekt gespeichert wird. Dieser URI muss mit dem URI des NetConnection-Objekts übereinstimmen, das an die Methode connect() übergeben wird.
 
persistence:Object (default = false) — Gibt an, ob die Dateneigenschaft des gemeinsamen Objekts die lokal permanente Speicherung, die permanente Remote-Speicherung oder beide Attribute aufweist. Mit diesem Parameter kann auch angegeben werden, wo das gemeinsame Objekt lokal gespeichert wird. Folgende Werte sind zulässig:
  • Der Wert false gibt an, dass das gemeinsame Objekt nicht permanent auf dem Client oder auf dem Server gespeichert wird.
  • Der Wert true gibt an, dass das gemeinsame Objekt nur auf dem Server permanent gespeichert wird.
  • Ein vollständig oder teilweise angegebener lokaler Pfad zum gemeinsamen Objekt gibt an, dass das gemeinsame Objekt permanent auf dem Client und auf dem Server gespeichert wird. Auf dem Client wird es unter dem angegebenen Pfad und auf dem Server in einem Unterverzeichnis des Anwendungsverzeichnisses gespeichert.

Hinweis: Wenn der Benutzer für diese Domäne generell keine lokale Speicherung zulässt, wird das Objekt auch dann nicht lokal gespeichert, wenn ein lokaler Pfad angegeben wurde. Weitere Informationen finden Sie in der Beschreibung zur Klasse.

 
secure:Boolean (default = false) — Hiermit wird festgelegt, ob der Zugriff auf dieses gemeinsame Objekt auf SWF-Dateien beschränkt wird, die über eine HTTPS-Verbindung bereitgestellt werden. Weitere Informationen finden Sie in den Erläuterungen zum Parameter secure im Eintrag zur Methode getLocal.

Rückgabewerte
SharedObject — Ein Verweis auf ein Objekt, das von mehreren Clients gemeinsam genutzt werden kann.

Auslöser
Error — Flash Player kann das gemeinsame Objekt weder erstellen noch öffnen. Dieser Fall kann eintreten, wenn für die Parameter remotePath und persistence nicht vorhandene Pfade angegeben wurden.

Verwandte API-Elemente

send

()Methode 
public function send(... arguments):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Überträgt eine Meldung an alle mit einem gemeinsamen Remote-Objekt verbundenen Clients, einschließlich des Clients, von dem die Meldung gesendet wurde. Zur Verarbeitung und Beantwortung der Meldung erstellen Sie eine Callback-Funktion, die mit dem gemeinsamen Objekt verknüpft wird.

Parameter

... arguments — Ein oder mehrere Argumente: Ein String, der die Meldung identifiziert, der Name einer oder mehrerer Verarbeitungsfunktionen, die an das gemeinsame Objekt angehängt werden, und optionale Parameter beliebigen Typs. Der Prozedurname darf nur eine Ebene umfassen (d. h. die Form übergeordnet/untergeordnet ist nicht zulässig) und hängt vom gemeinsamen Objekt ab. Die Argumente werden serialisiert, über die Verbindung gesendet und von der Empfangsprozedur in derselben Reihenfolge empfangen. Wenn es sich bei dem Parameter um ein zyklisches Objekt handelt (z. B. eine verknüpfte zyklische Liste), werden die Verweise bei der Serialisierung korrekt verarbeitet.

Hinweis: Verwenden Sie keine reservierten Begriffe als Funktionsnamen. Beispiel: Bei Verwendung von myRemoteSO.send("close") schlägt die Prozedur fehl.

setDirty

()Methode 
public function setDirty(propertyName:String):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Weist den Server an, dass der Wert einer Eigenschaft im gemeinsamen Objekt geändert wurde. Diese Methode kennzeichnet Eigenschaften als geändert (dirty).

Rufen Sie SharedObject.setProperty() auf, um Eigenschaften für ein gemeinsames Objekt zu erstellen.

Die SharedObject.setProperty()-Methode implementiert setDirty(). In den meisten Fällen (bei einfachen Eigenschaftswerten wie „String“ oder „Number“) können Sie setProperty() anstelle von setDirty() aufrufen. Wenn es sich bei dem Eigenschaftswert jedoch um ein Objekt mit eigenen Eigenschaften handelt, rufen Sie setDirty() auf, um anzugeben, wenn ein Wert innerhalb des Objekts geändert wurde.

Parameter

propertyName:String — Der Name der geänderten Eigenschaft.

Verwandte API-Elemente

setProperty

()Methode 
public function setProperty(propertyName:String, value:Object = null):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Aktualisiert den Wert einer Eigenschaft in einem gemeinsamen Objekt und informiert den Server, dass der Wert der Eigenschaft geändert wurde. Die setProperty()-Methode markiert Eigenschaften ausdrücklich als geändert („dirty“).

Weitere Informationen zu gemeinsamen Remote-Objekten finden Sie in der Dokumentation zu Flash Media Server.

Hinweis: Die Methode SharedObject.setProperty() implementiert die Methode setDirty(). In den meisten Fällen (bei einfachen Eigenschaftswerten wie „String“ oder „Number“) verwenden Sie setProperty() anstelle von setDirty(). Wenn es sich bei dem Eigenschaftswert jedoch um ein Objekt mit eigenen Eigenschaften handelt, verwenden Sie setDirty(), um anzugeben, wenn ein Wert innerhalb des Objekts geändert wurde. Im Allgemeinen empfiehlt es sich, setProperty() anstelle von setDirty() aufzurufen, da setProperty() einen Eigenschaftswert nur aktualisiert, wenn sich dieser Wert geändert hat; im Gegensatz dazu erzwingt setDirty() eine Synchronisierung aller Clients mit Abonnement.

Parameter

propertyName:String — Der Name der Eigenschaft im gemeinsamen Objekt.
 
value:Object (default = null) — Der Wert der Eigenschaft (ein ActionScript-Objekt) oder null zum Löschen der Eigenschaft.

Verwandte API-Elemente

Ereignisdetails

asyncError

Ereignis
Ereignisobjekttyp: flash.events.AsyncErrorEvent
Eigenschaft AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn eine Ausnahme asynchron ausgelöst wird – das heißt, aus nativem asynchronem Code.

Die Konstante AsyncErrorEvent.ASYNC_ERROR definiert den Wert der type-Eigenschaft eines asyncError-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 das Ereignis auslöst.
errorDer Fehler, der das Ereignis ausgelöst hat.

netStatus

Ereignis  
Ereignisobjekttyp: flash.events.NetStatusEvent
Eigenschaft NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn der Status oder die Fehlerbedingung einer SharedObject-Instanz protokolliert wird. Das Ereignis netStatus enthält die Eigenschaft info. Dabei handelt es sich um ein Informationsobjekt mit spezifischen Informationen über das Ereignis, z. B. ob ein Verbindungsversuch erfolgreich war oder ob das gemeinsame Objekt erfolgreich auf die lokale Festplatte geschrieben werden konnte.

Definiert den Wert der Eigenschaft type eines netStatus-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.
infoEin Objekt mit Eigenschaften, die den Status oder die Fehlerbedingung des Objekts beschreiben.
targetDas NetConnection- oder NetStream-Objekt, dessen Status protokolliert wird.

Verwandte API-Elemente

sync

Ereignis  
Ereignisobjekttyp: flash.events.SyncEvent
Eigenschaft SyncEvent.type = flash.events.SyncEvent.SYNC

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Wird ausgelöst, wenn ein gemeinsames Remote-Objekt vom Server aktualisiert wurde.

Definiert den Wert der Eigenschaft type eines sync-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.
changeListEin Array mit Eigenschaften, die den Array-Status wiedergeben.
targetDie vom Server aktualisierte SharedObject-Instanz.

Verwandte API-Elemente

SharedObjectExample.as

Mit dem folgenden Code wird ein SharedObject-Objekt mit der ID "application-name" erstellt (und in anschließenden Durchläufen abgerufen). Wenn der Benutzer auf die Schaltfläche „Speichern“ klickt, versucht die Methode saveValue(), eine Eigenschaft mit dem Namen savedValue in der data-Eigenschaft des SharedObject-Objekts zu speichern. Wenn Flash Player eine Genehmigung zur Speicherung der Daten anfragen muss, wird bei Gewährung bzw. Ablehnung der Genehmigung die Methode onFlushStatus() aufgerufen. Wenn der Benutzer auf die Schaltfläche „Löschen“ klickt, wird der in savedValue gespeicherte Wert über die Methode clearValue() gelöscht. Beim nächsten Laden der SWF-Datei lautet der abgerufene Wert undefined.
package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.net.SharedObject;
    import flash.net.SharedObjectFlushStatus;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFieldType;
    
    public class SharedObjectExample extends Sprite {
        
        private var mySo:SharedObject;
        
        public function SharedObjectExample() {
            buildUI();
            saveBtn.addEventListener(MouseEvent.CLICK, saveValue);
            clearBtn.addEventListener(MouseEvent.CLICK, clearValue);
            
            mySo = SharedObject.getLocal("application-name");
            output.appendText("SharedObject loaded...\n");
            output.appendText("loaded value: " + mySo.data.savedValue + "\n\n");
        }

         private function saveValue(event:MouseEvent):void {
            output.appendText("saving value...\n");
            mySo.data.savedValue = input.text;
            
            var flushStatus:String = null;
            try {
                flushStatus = mySo.flush(10000);
            } catch (error:Error) {
                output.appendText("Error...Could not write SharedObject to disk\n");
            }
            if (flushStatus != null) {
                switch (flushStatus) {
                    case SharedObjectFlushStatus.PENDING:
                        output.appendText("Requesting permission to save object...\n");
                        mySo.addEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
                        break;
                    case SharedObjectFlushStatus.FLUSHED:
                        output.appendText("Value flushed to disk.\n");
                        break;
                }
            }
            output.appendText("\n");
        }
        
        private function clearValue(event:MouseEvent):void {
            output.appendText("Cleared saved value...Reload SWF and the value should be \"undefined\".\n\n");
            delete mySo.data.savedValue;
        }
        
        private function onFlushStatus(event:NetStatusEvent):void {
            output.appendText("User closed permission dialog...\n");
            switch (event.info.code) {
                case "SharedObject.Flush.Success":
                    output.appendText("User granted permission -- value saved.\n");
                    break;
                case "SharedObject.Flush.Failed":
                    output.appendText("User denied permission -- value not saved.\n");
                    break;
            }
            output.appendText("\n");

            mySo.removeEventListener(NetStatusEvent.NET_STATUS, onFlushStatus);
        }
        
        // UI elements
        private var inputLbl:TextField;
        private var input:TextField;
        private var output:TextField;
        private var saveBtn:Sprite;
        private var clearBtn:Sprite;
    
        private function buildUI():void {
            // input label
            inputLbl = new TextField();
            addChild(inputLbl);
            inputLbl.x = 10;
            inputLbl.y = 10;
            inputLbl.text = "Value to save:";
            
            // input TextField
            input = new TextField();
            addChild(input);
            input.x = 80;
            input.y = 10;
            input.width = 100;
            input.height = 20;
            input.border = true;
            input.background = true;
            input.type = TextFieldType.INPUT;
            
            // output TextField
            output = new TextField();
            addChild(output);
            output.x = 10;
            output.y = 35;
            output.width = 250;
            output.height = 250;
            output.multiline = true;
            output.wordWrap = true;
            output.border = true;
            output.background = true;
            
            // Save button
            saveBtn = new Sprite();
            addChild(saveBtn);
            saveBtn.x = 190;
            saveBtn.y = 10;
            saveBtn.useHandCursor = true;
            saveBtn.graphics.lineStyle(1);
            saveBtn.graphics.beginFill(0xcccccc);
            saveBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var saveLbl:TextField = new TextField();
            saveBtn.addChild(saveLbl);
            saveLbl.text = "Save";
            saveLbl.selectable = false;
            
            // Clear button
            clearBtn = new Sprite();
            addChild(clearBtn);
            clearBtn.x = 230;
            clearBtn.y = 10;
            clearBtn.useHandCursor = true;
            clearBtn.graphics.lineStyle(1);
            clearBtn.graphics.beginFill(0xcccccc);
            clearBtn.graphics.drawRoundRect(0, 0, 30, 20, 5, 5);
            var clearLbl:TextField = new TextField();
            clearBtn.addChild(clearLbl);
            clearLbl.text = "Clear";
            clearLbl.selectable = false;
        }
    }
}




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