расположение объекта

я использую этот метод для сохранения общего объекта в определенном месте, но я не могу указать путь

SharedObject.getLocal("save","how to give path here for window");

и это дает следующую ошибку

Error: Error #2130: Unable to flush SharedObject.
at Error$/throwError()
at flash.net::SharedObject/flush()
at OnlineDiagramEditor/SaveData_mouseDownHandler()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3240]
at OnlineDiagramEditor/__SaveData_mouseDown()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3522]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]

иногда это дает

Error: Error #2134: Cannot create SharedObject.
at flash.net::SharedObject$/getLocal()
at OnlineDiagramEditor/SaveData_mouseDownHandler()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3236]
at OnlineDiagramEditor/__SaveData_mouseDown()[C:\Users\ruchidod\Adobe Flash Builder 4.6\OnlineDiagramEditor\src\OnlineDiagramEditor.mxml:3522]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:13152]
at mx.managers::SystemManager/mouseEventHandler()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\SystemManager.as:2918]

person Devendra    schedule 26.02.2013    source источник


Ответы (1)


SharedObjects автоматически сохраняются в предопределенном месте и не являются междоменными, это означает, что каждый домен может читать только свою собственную SO.

localPath — это всего лишь параметр, определяющий, в какой подпапке предопределенного местоположения Flash Player должен сохранять SO. По умолчанию это относится к SWF, который сохраняет саму SO.

localPath: String [optional]- Строка, указывающая полный или частичный путь к SWF-файлу, создавшему общий объект, и определяющая, где этот общий объект хранится локально. Значение по умолчанию — полный путь.

Также:

Хотя параметр localPath является необязательным, следует подумать о его использовании, особенно если другим SWF-файлам требуется доступ к общему объекту. Если данные в общем объекте относятся к одному SWF-файлу, который не будет перемещен в другое место, то имеет смысл использовать значение по умолчанию. Если другим SWF-файлам требуется доступ к общему объекту или если SWF-файл, создающий общий объект, будет позже перемещен, то значение этого параметра влияет на то, смогут ли какие-либо SWF-файлы получить доступ к общему объекту. Например, если вы создаете общий объект с параметром localPath, равным значению по умолчанию полного пути к SWF-файлу, то никакой другой SWF-файл не сможет получить доступ к этому общему объекту. Если позже вы переместите исходный SWF-файл в другое место, то даже этот SWF-файл не сможет получить доступ к данным, уже хранящимся в общем объекте.

Поэтому, если у вас есть несколько SWF-файлов в одном домене, которым требуется доступ к одной и той же SO, вам нужно указать путь к getLocal(), одинаковый для каждого SWF-файла.

http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001508.html


Например:

В Windows SO хранятся в %APPDATA%\Macromedia\Flash Player\#SharedObjects\.

Вот подпапка для вашего пользователя, например 5D3RT21F.

Затем у нас есть подпапка для домена, из которого был создан SO-файл, например www.flickr.com.

Затем несколько подпапок, чтобы отразить относительный путь к SWF в домене, например \apps\slideshow\show.swf\, здесь вы можете найти файл SO.

Но если вы укажете / (root) как localPath, то вы найдете файл SO непосредственно в www.flickr.com, и другие SWF-файлы в том же домене будут иметь к нему свободный доступ.

person Teejay    schedule 26.02.2013
comment
спасибо @teejay ..... но есть ли другой способ хранить данные sava в определенном месте? - person Devendra; 26.02.2013
comment
Вы экспортируете для Интернета или для рабочего стола (платформа AIR)? Если для Интернета, краткий ответ: НЕТ. Если для настольного компьютера, вы можете увидеть здесь adobeairtutorials.com/2009/01/28/ - person Teejay; 26.02.2013