Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-05-2008, 15:11   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 61
Unhappy array in shared objects erweitern?

gibts es eine möglichkeit direkt ein array welches in einem sharedobject "beheimatet" ist mit push zu erweitern?

Code:
var Clients:Array= new Array("uwe", "fred", "sepp");
ClientsSO.setProperty("clients", Clients);
dies funkt ja soweit!

nur ...
wie erweiter ich jenes array?
da so.data nur zum lesen ist geht ja ..
Code:
ClientsSO.data.clients.push("susi");
nicht!

wie sollte man das array erweitern?
zumal ...
Code:
variable:Array= ClientsSO.getProperty("clients");
variable.push("susi");
ClientsSO.setProperty("clients", variable);
nimmt mir ja die möglichkeit das sync event so zu verwenden dass nur geänderte attribute verarbeitet werden zumal ich hier das ganze array neu zuweise!

gibts sonst eine möglichkeit?

lg, pranko
pranko ist offline   Mit Zitat antworten
Alt 16-05-2008, 15:37   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
mit getLocal wird das data-objekt gefüllt. die darin enthaltenen objekte können wie ganz normale objekte verwendet werden. beim beenden wird der inhalt von data automatisch in die .so-datei zurück geschrieben.

das folgende script in eine fla schreiben und die speichern. beim 1. aufruf wird das array erzeugt, bei jedem weiteren aufruf wird das array um "noch jemand" erweitert.

ich vermute, du initialisierst dein array bei jedem aufruf immer wieder neu.
Code:
var _so:SharedObject = SharedObject.getLocal("kookie");
if (_so.data.clients == undefined) {
	_so.data.clients = ["uwe", "fred", "sepp"];
} else {
	_so.data.clients.push("noch jemand")
}
trace(_so.data.clients);
//
// _so.clear();
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (16-05-2008 um 15:39 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 16-05-2008, 16:02   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
--> verschoben
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 16-05-2008, 16:28   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 61
jedoch ...

hallo danke für den typ ... nur ...

ich hab ein remoteSharedObject!

und so.data ist nur zum lesen und ned zum schrieben, oder?
zumindest steht es so in den livedocs ....
pranko ist offline   Mit Zitat antworten
Alt 16-05-2008, 17:30   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
AS3 ?

flash hilfe:
"..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.."

mehr kann ich dazu nicht sagen, ich habe keinen Adobe Flash Media Server.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (16-05-2008 um 17:34 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 16-05-2008, 17:38   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 61
danek vielmals ...

ja dass hab ich irgendwie überlesen bezw. nicht richtig zur kenntnis genommen! danke sehr ... ich werd schaun ob ich so weiterkommme!
pranko ist offline   Mit Zitat antworten
Alt 16-05-2008, 18:02   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 61
so nun getestet ...

es sagt eben falls der property auch ein object ist, dann kann man damit die eigenschaften setzen! okay gut zu wissen, aber ...

was wenn die eigenschaft ein array ist?
pranko ist offline   Mit Zitat antworten
Alt 16-05-2008, 18:40   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
probiere es aus: was passiert, wenn du dem server mitteilst, dass sich das array geändert hat?

ansonsten probiere mal folgende notlösungen. jetzt ist es ein objekt ;-)
var Clients = {};
Clients[0] = "uwe";
Clients[1] = "fred";
Clients[2] = "sepp";

oder als aller letzte notlösund ein string und den jeweils splitten:
Clients = "uwe#fred#sepp";

Zitat:
Zitat von pranko Beitrag anzeigen
nimmt mir ja die möglichkeit das sync event so zu verwenden dass nur geänderte attribute verarbeitet werden zumal ich hier das ganze array neu zuweise!
es wird keine meldung geben, so wie z.b.: der 2. index vom array wurde geändert
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (16-05-2008 um 18:49 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 17-05-2008, 12:27   #9 (permalink)
Neuer User
 
Registriert seit: Jan 2005
Beiträge: 61
Thumbs up danke ...

danke abermals,

habe bereits die methodik mit dem splitten versucht, jedoch hab ich eine kleine erklärung des ganzen problemes online gefunden!

http://echo.ryerson.ca/arraysSharedObjects/index.html

array auslesen, element pushen, das "neue" array wieder in das shared object laden und dann einfach die arrays vergleichen! mühsam aber funktioniert hoffentlich! ;-)
pranko ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele