2009-07-06 32 views
1

Ich habe eine Reihe von sehr informativen Artikeln gesehen, die erklären, dass SharedObject.getLocal null zurückgibt, wenn es das angeforderte SharedObject nicht finden oder erstellen kann, aber nichts finden kann warum dies Methode würde fehlschlagen. Will jemand einen draufsetzen?SharedObject.getLocal() gibt null zurück

Antwort

0

Leider was back2dos oben gesagt ist richtig - im Grunde Blitz Sie, dass die Schaffung gescheitert sagen wird, aber nicht, warum es fehlgeschlagen. Sie können jedoch versuchen, eine fundierte Vermutung darüber zu erhalten, warum ein Fehler aufgetreten sein könnte, und den Benutzer dann auffordern, bei Bedarf einen Fehler zu beheben.

Wenn Sie bei der ersten Anforderung kein leeres SharedObject (SO) abrufen können und der von Ihnen angegebene Pfad korrekt ist, ist es wahrscheinlich, dass der Benutzer sie deaktiviert hat. Wenn das Schreiben des Objekts fehlschlägt, können Sie die Größe des SO, das Sie schreiben möchten, messen. Wenn es über dem Standardwert von 100 KB liegt, können Sie den Benutzer bitten, seinen Speicherplatz zu erhöhen. Wenn Sie Ihre SOs mit SharedObject.flush() schreiben, können Sie auch die Größe angeben, die das SO benötigt. Wenn dieser Speicherplatz nicht verfügbar ist, zeigt der Flash Player das Dialogfeld an, in dem der Benutzer aufgefordert wird, seinen Speicherplatz zu vergrößern.

Wenn der Benutzer Shared entweder muss ermöglichen, oder den Speicherplatz erlaubt zu erhöhen, können Sie den Flash Player Einstellungsfenster öffnen bieten ihnen die erforderlichen Veränderungen vorzunehmen:

Security.showSettings(SecurityPanel.LOCAL_STORAGE); 
0

Sie meinen, herauszufinden, zur Laufzeit, warum die Operation fehlgeschlagen? Sie können nicht ...

entweder der Pfad, den Sie gaben, ist fehlerhaft, oder Sie können nicht auf das Objekt zugreifen, weil es sicher ist, und Ihr SWF ist nicht ... oder einfach weil der Benutzer die Verwendung von freigegebenen Objekten nicht erlaubt ... und möglicherweise auch andere Gründe ...

greetz

back2dos

0

Eigentlich, wenn es kann Wenn Sie das Objekt nicht erstellen, wird SharedObject.getLocal() eine Ausnahme auslösen. Die Ausnahmebedingungsnachricht (oder möglicherweise ID?) kann dann gelesen werden, um den Fehler zu bestimmen.

Ich hatte gerade ein Problem mit getLocal() werfen eine Ausnahme, weil nicht alle Eigenschaften auf meiner benutzerdefinierten Klasse Setter hat.