Macromedia Flash非公式テクニカルノート

SharedObject.flush

ID: FN0205001 Product: Flash

Platform: All
Version: MX

シンタックス
myLocalSharedObject.flush([最小ディスクスペース])

引数
最小ディスクスペース  整数(オプション)。共有オブジェクトに割り当てる必要があるバイト数を指定します。デフォルト値は、0です。

戻り値
'true'か'false'のブーリアン値、またはストリング値"pending"(このメソッドが"pending"を返すと、Flashはダイアログボックスを表示して、ユーザーにそのドメインのオブジェクトに使用できるディスク容量の拡大を求めます)。

・このメソッドがmyLocalSharedObjectに対して初めて実行されると、"pending"が返されます。

・ユーザーがローカル情報の保存領域をそのドメインのオブジェクトに認めていて、割当てられた容量がオブジェクトの保存に十分であれば、メソッドは'true'を返します([最小ディスクスペース]の値を渡したときは、'true'を返すには割当てられた容量が少なくともその値以上である必要があります)。

・ユーザーがローカル情報の保存領域をそのドメインのオブジェクトに認めていて、しかし割当てられた容量がオブジェクトの保存に不十分であれば、メソッドは"pending"を返します.

・ユーザーがローカル情報の保存領域をそのドメインのオブジェクトにまったく認めていない場合、あるいはFlashが何らかの理由でオブジェクトを保存できないときは、メソッドは'false'を返します。

説明
メソッド; ローカルに存在している共有オブジェクトを、ただちにローカルファイルに書込みます。このメソッドを使用しなければ、Flashは共有オブジェクトをその処理が終了するときににファイルへ書込みます。処理の終了とは、SWFムービーが終了するか、共有オブジェクトに対する参照がすべてなくなって、ガーベージコレクションによりオブジェクトが削除されるときをいいます。

共有オブジェクトの領域を将来の保存に備えて拡張し、値として"pending"が返されないようにするには、[最小ディスクスペース]の値を渡します。Flashがファイルを書込む際には、[最小ディスクスペース]として渡されたバイト数があればそれを参照し、共有オブジェクトの現在のサイズを保存するための必要スペースは確認しません。

たとえば、共有オブジェクトのサイズが最大500バイトまで増えそうだというとき、初めはずっと小さな容量だとしても、[最小ディスクスペース]として500を渡します。すると、Flashがユーザーに共有オブジェクトへのディスクスペースの割当てを求める場合、500バイトを要求します。ユーザーが求められたスペースの容量を割り当てた後は、Flashがオブジェクトを書込もうとするとき、スペースの増加を要求することはありません(ただし、そのサイズが500バイトを超えない場合です)。


以下のサンプルは、ローカルの共有オブジェクト"myData"に保存されていたデータを読込んで、'data'プロパティの"name"属性のテキストをテキスト入力ボックス"name_txt"に設定します。そして、ユーザー定義関数xSaveSharedObjectが定義されます。この'function'は、テキスト入力ボックスname_txtに入力されているテキストを共有オブジェクトの"name"属性に設定し、オブジェクトをファイルに書込みます。

// ローカルの共有オブジェクト"myData"を取得
oSharedObject = SharedObject.getLocal("myData");
// dataプロパティの"name"属性のテキストをテキスト入力ボックスname_txtに設定
name_txt.text = oSharedObject.data.name;
// ユーザー定義function:
// 共有オブジェクトのdataプロパティに"name"属性を設定して書込む
function xSaveSharedObject() {
   // テキスト入力ボックスname_txtの値を"name"属性に設定
   oSharedObject.data.name = name_txt.text;
   // 共有オブジェクトの書込み
   bResult = oSharedObject.flush();
   // 書込みの結果を返す
   return bResult;
}

Player
Flash Player 6以降。

関連項目
SharedObject.data  SharedObject.getLocal

_____

作成者: 野中文雄
作成日: 2002年5月13日


Copyright © 2001-2006 Fumio Nonaka.  All rights reserved.