sharedobject attribut erstellen löschen wieder erstellen(prob)

Umut1983

Mitglied
Aloha :D
hab da wieder ein Problem nebnbei... ich check auch garnicht was da für ein Fehler ist.
Also SharedObject attribut wird erstellt..........OK
SharedObject attribut wird gelöscht ..........OK
Im selben FIlm selber Button zweiter Durchgang SharedObject Attribut erstellen...... Keine Reaktion

hier der code zum nachbauen......:
PHP:
import fl.events.ComponentEvent;
var nc:NetConnection = new NetConnection();
nc.objectEncoding = ObjectEncoding.AMF3;
nc.connect("rtmp://deinapplikation","user");

var soOk:SharedObject = SharedObject.getRemote("soOk", nc.uri, false);
soOk.connect(nc);
soOk.addEventListener(SyncEvent.SYNC,testsync)
function testsync(e3:SyncEvent)
{
	trace("klappt");
	trace(e3.target.data["test"]);
}
ed.addEventListener(ComponentEvent.BUTTON_DOWN, addatt)
function addatt(e1:ComponentEvent)
{
	soOk.setProperty("test","Hallo");
}

del.addEventListener(ComponentEvent.BUTTON_DOWN, delatt)
function delatt(e2:ComponentEvent){
	soOk.setProperty("test");
	
}
 
Hi,

Ist das Flex oder CS3? Kannst Du den Code bitte so posten, dass er direkt (ohne zusätzliche Komponenten) auch unter Flash 8 ausführbar ist?

Bist Du sicher, dass die Funktion addatt überhaupt aufgerufen wird?

Gruß
.
 
Ja die Funktion läuft ja beim ersten mal ab... beim zweiten mal wirds auch reingeschrieben aber der Syncevent startet nicht.

Das ist CS3.ich weiß leider nicht mehr genau wie es in Flash 8 ging aber ich denke mal ungefähr so:

PHP:
var nc:NetConnection = new NetConnection(); 
nc.connect("rtmp://deinapplikation","user"); 
import mx.utils.Delegate;
var soOk:SharedObject = SharedObject.getRemote("soOk", nc.uri, false); 
soOk.connect(nc); 
soOk.onSync = Delegate.create(this, testsync); 
function testsync(evtObj:Object) 
{ 
    trace("klappt"); 
    trace(soOk.data["test"]); 
} 
ed.onRelease = function()
{ 
    soOk.data["test"]="Hallo"; 
} 

del.onRelease = function(){ 

// hier weiß ich leider nicht mehr wie man das Attribut "test" komplett entfernt.....
    soOk.data["test"]=""; 
     
}

Auf die Bühne noch zwei Button "ed" und "del" fertig denke ich.
 
Hi,

die Methode "SharedObject.onSync" kenne ich nicht. Von welcher Klasse wird sie vererbt und wo kann ich die Referenz dazu finden?

Unter Flash 8 erbt SharedObject nur von Object und bietet diese Funktionalität m.E. nicht.

Auch eine connect-Methode eines SharedObjects ist mir unbekannt. Was soll diese in Zusammenhang mit einer NetConnection machen?

Übrigens: Ein Attribut entfernst Du mit der delete-Anweisung aus einem SharedObject:
Code:
delete so.data.attributeName;

Gruß
.
 
ich weiß leider nicht woher ich das hab, aber in meinem alten chatsystem ging das mit dem onSync event.
Ich hab aber keine FlashMedia Server sondern den opensource Red5 Server. Aber das dürfte eigentlich keine Rolle spielen denk ich.
Ging ja einfach darum dass das Sharedobjekt an Flash sagt das es aktualisiert wurde.

Ja das Attributlöschenereignis wollte ich ja nur für die Flash 8 Version wissen. Um es für dich auch möglich zu machen. In Cs3 weiß ich es mittlerweile
 
Hi,

wenn das Callback-Ereignis nicht funktioniert, kannst Du Dir vielleicht mit einem Workaround behelfen (rufe beim Klick eine Methode auf, die sowohl das SharedObject ändert, als auch Dein Sync-Ereignis aufruft).

Bei Fragen zu Streamingservern und Socket-Verbindungen muss ich leider passen - damit habe ich selbst keine Erfahrungen.

Gruß
.
 

Neue Beiträge

Zurück