Flash getLocal()返回null

Flash getLocal()返回null,flash,actionscript-2,Flash,Actionscript 2,我已经看到了许多内容丰富的文章,解释了SharedObject.getLocal如果无法找到或创建请求的SharedObject,将返回null,但可以找到任何告诉我此方法失败原因的信息。有人想尝试一下吗?你的意思是,在运行时找出操作失败的原因?你不能 您提供的路径格式不正确,或者您无法访问该对象,因为它是安全的,并且您的swf不是。。。或者仅仅因为用户不允许使用共享对象。。。可能还有其他原因 格里茨 back2dos不幸的是,back2dos上面说的是正确的-基本上Flash会告诉您创建失败,

我已经看到了许多内容丰富的文章,解释了SharedObject.getLocal如果无法找到或创建请求的SharedObject,将返回null,但可以找到任何告诉我此方法失败原因的信息。有人想尝试一下吗?

你的意思是,在运行时找出操作失败的原因?你不能

您提供的路径格式不正确,或者您无法访问该对象,因为它是安全的,并且您的swf不是。。。或者仅仅因为用户不允许使用共享对象。。。可能还有其他原因

格里茨


back2dos

不幸的是,back2dos上面说的是正确的-基本上Flash会告诉您创建失败,但不会告诉您失败的原因。但是,您可以尝试对其失败的原因进行有根据的猜测,然后在需要时提示用户对失败采取措施

如果您在第一次请求时无法获取空的SharedObject(SO),并且您提供的路径是正确的,那么用户可能已经禁用了它们。如果写入对象失败,您可以测量要写入的对象的大小,然后如果超过默认的100KB限制,则可以要求用户增加存储空间。此外,在使用SharedObject.flush()编写SOs时,您可以指定SO需要的大小,如果该空间不可用,Flash Player将显示对话框,要求用户增加存储空间

如果用户需要允许共享对象或增加允许的存储空间,您可以为他们打开Flash Player设置面板以进行所需的更改:

Security.showSettings(SecurityPanel.LOCAL_STORAGE);

实际上,如果无法创建对象,
SharedObject.getLocal()
将抛出异常。然后可以读取异常消息(或者可能是id?)以确定错误

我刚刚遇到了一个问题,
getLocal()
引发了一个异常,因为我的自定义类上并非所有的属性都有setter