我已经看到了一些非常翔实的文章解释说,SharedObject.getLocal的将返回null,如果它不能找到或创建要求的共享对象,但可以找到任何东西,告诉我为什么这方法会失败。有人想刺穿它吗?SharedObject.getLocal的()返回null
1
A
回答
0
不幸的是,上述back2dos说是正确的 - 基本上闪光灯会告诉你,创建失败,但没有失败的原因。但是,您可以尝试对其为何可能失败做出有根据的猜测,然后提示用户根据需要对失败做些事情。
如果第一次请求它时无法获得空的SharedObject(SO),并且提供的路径是正确的,那么很可能是用户可能已禁用它们。如果写入对象失败,您可以测量您尝试写入的SO的大小,然后如果它超过默认的100KB限制,则可以要求用户增加其存储空间。另外,使用SharedObject.flush()编写SO时,可以指定SO需要的大小,如果该空间不可用,Flash Player将显示一个对话框,要求用户增加其存储空间。
如果用户需要为允许共享对象,或增加允许的存储空间,你可以提供给打开Flash Player设置面板为他们进行必要的更改:
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
0
您的意思是,在运行时找出操作失败的原因?你不能...
要么你给的路径格式不正确,要么你不能访问对象,因为它是安全的,你的swf不是......或者仅仅是因为用户不允许使用共享对象...以及其他可能的原因...
格尔茨
back2dos
0
其实,如果可以不创建对象,SharedObject.getLocal()
会抛出异常。然后可以读取异常消息(或可能的id?)以确定错误。
我刚刚在getLocal()
上抛出一个异常,因为我的自定义类中的所有属性都没有setter。
相关问题
- 1. null == null返回false?
- 2. PropertyInfo.GetValue(null,null)返回null
- 3. 的DriverManager.getConnection返回null
- 4. 的readLine()返回null
- 5. 的SelectSingleNode返回null
- 6. 返回null的JSON
- 7. 的NSDate返回null
- 8. 的ExecuteScalar返回null
- 9. 的NSMutableDictionary返回null
- 10. item.getActionView()的返回null
- 11. 的getResourceAsStream()返回null
- 12. JQuery的$(返回null
- 13. 的ArrayList返回null
- 14. 的BufferedReader返回null
- 15. 的ThreadPoolExecutor返回null
- 16. 的InputStream返回null
- 17. 的strtok()返回NULL
- 18. 的document.getElementById返回NULL
- 19. UsbDevice.FromIdAsync返回null
- 20. ContentResolver.insert返回null
- 21. BitmapFactory.decodeByteArray()返回NULL
- 22. glXChooseFBConfig返回NULL
- 23. {this.props.children}返回null
- 24. findViewByID返回null
- 25. Assembly.GetType返回null
- 26. `DataGridViewComboBoxCell`返回`null`
- 27. cvCapturefromCAM()返回NULL
- 28. .getJSON()返回null
- 29. Android:BitmapFactory.decodeResource返回null
- 30. JAXB返回null