我已經看到了一些非常翔實的文章解釋說,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