トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     SharedObjectが参照できなくなる条件について
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
井上純一
Åê¹ÆNo.24196
投稿日時: 2006-3-7 10:46
新米
居住地: 福岡
投稿: 8
使用環境:
Windows200,Flash MX2004
Re: SharedObjectが参照できなくなる条件について
井上です。
お返事ありがとうございます。

引用:
本題に戻りますと、クライアントさんの環境で、SharedObjectが動作することを確認する作業が先決でしょう。

普段は問題なく動いてるんです。
それが、どういうタイミングかは分からないのですが、ごくたまにSharedObjectの値を参照できないときがあるようで、値を再取得して保持してる値が変わってしまうんです。
※SharedObjectから値が取得できないときは再発行する仕組みになっています。

それで、何かの条件によって、SharedObjectが参照できなくなったりするのかな?と。

引用:
なお、Flash Playerの書出しバージョンと、クライアントさんの環境のバージョンは、どのようになっているのでしょう?

失礼しました。
書き出しは[Flash Plaer 6]で行っています。
クライアント側のPlayerは以前は[6.x]だったと思いますが、バージョンアップの状況など分かっていないので、確認できるか聞いてみます。

ちなみに、この現象は特定の端末ではなく、複数の端末で起きているそうです。


----------------
--
Jun-ichi Inoue
jun@bagusnet.jp

野中文雄
Åê¹ÆNo.24186
投稿日時: 2006-3-7 0:53
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: SharedObjectが参照できなくなる条件について
本題に戻りますと、クライアントさんの環境で、SharedObjectが動作することを確認する作業が先決でしょう。そのためには、ごくシンプルなムービーを作成するか、SharedObjectが使用されているサイトを閲覧して、クライアントさんの環境で動作するか見てもらうことが必要です。私のサイトにも、Flash MXで(Flash Player 6向けに)作成したサンプルがあります。

また、[Webサイトの記憶領域設定]をご覧いただければ、SharedObjectが存在するかどうかも確認できるでしょう。
引用:
井上純一さんは書きました:
以下のようなスクリプトで、クライアントごとに作ったSharedObjectの値を使って処理を行っているシステムがあるのですが、これが参照できなくなる現象が起きています。

なお、Flash Playerの書出しバージョンと、クライアントさんの環境のバージョンは、どのようになっているのでしょう?


----------------
 

井上純一
Åê¹ÆNo.24185
投稿日時: 2006-3-7 0:17
新米
居住地: 福岡
投稿: 8
使用環境:
Windows200,Flash MX2004
Re: SharedObjectが参照できなくなる条件について
井上です。

なるほど、了解しました。
ありがとうございます。
引用:
本題からは、それますけど。大文字のNULLは未定義変数undefinedと扱われ、nullとundefinedとは等価比較でtrueを返すために、たまたま同じ結果になるだけでしょう。


----------------
--
Jun-ichi Inoue
jun@bagusnet.jp

野中文雄
Åê¹ÆNo.24181
投稿日時: 2006-3-6 21:39
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: SharedObjectが参照できなくなる条件について
本題からは、それますけど。大文字のNULLは未定義変数undefinedと扱われ、nullundefinedとは等価比較でtrueを返すために、たまたま同じ結果になるだけでしょう。
a=null ;
b=ぬる;
trace(a); // null
trace(b); // undefined
trace(a == null); // true
trace(a == ぬる); // true
trace(b == null); // true
trace(b == ぬる); // true

引用:
井上純一さんは書きました:
ただ、手元の環境で再現していない現象なので、この修正の効果をすぐには確かめられないのですが、以下のようなテストでは、[null]も[NULL]も比較演算子の返す真偽値は同じでした。


----------------
 

井上純一
Åê¹ÆNo.24180
投稿日時: 2006-3-6 21:29
新米
居住地: 福岡
投稿: 8
使用環境:
Windows200,Flash MX2004
Re: SharedObjectが参照できなくなる条件について
井上です。
お返事ありがとうございます。
確かにそのとおりでした。
早速[NULL]を[null]に修正したいと思います。

ただ、手元の環境で再現していない現象なので、この修正の効果をすぐには確かめられないのですが、以下のようなテストでは、[null]も[NULL]も比較演算子の返す真偽値は同じでした。

a=null ;
b=NULL;
c='aaa';
trace(a); // null
trace(b); // undefined
trace(a == null); // true
trace(a == NULL); // true
trace(b == null); // true
trace(b == NULL); // true
trace(c == null); // false
trace(c == NULL); // false


実際のソースに倣って(SharedObjectは存在しません)、以下のようにテストしたときも同じ結果を返してきたのですが、環境によって結果が変わることもあるんでしょうか…


var so = SharedObject.getLocal(so_name,"/") ;
trace(so == null); // true
trace(so == NULL); // true


どうもありがとうございました。
また、引き続き情報をお持ちの方がいらっしゃいましたら、よろしくお願いします。


----------------
--
Jun-ichi Inoue
jun@bagusnet.jp

ひろゆき
Åê¹ÆNo.24172
投稿日時: 2006-3-6 18:08
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: SharedObjectが参照できなくなる条件について
とりあえず、NULL ではなく、null かと。
a = null;
b = NULL;
trace(a);
trace(b);

Flash MX 2004でハマりがちな問題点


----------------
質問する際は、回答者に具体的な情報を与えてください。

井上純一
Åê¹ÆNo.24166
投稿日時: 2006-3-6 16:23
新米
居住地: 福岡
投稿: 8
使用環境:
Windows200,Flash MX2004
SharedObjectが参照できなくなる条件について
井上といいます。

以下のようなスクリプトで、クライアントごとに作ったSharedObjectの値を使って処理を行っているシステムがあるのですが、これが参照できなくなる現象が起きています。

// SharedObjectへ保存
var so = SharedObject.getLocal( so_name, "/" ) ;
if( so.data.hoge == NULL ){
  hogeobj = new Array() ;
}
else{
  hogeobj = so.data.hoge ;
}
hogeobj['hogekey'] = '123' ;
so.data.hoge = hogeobj ;
so.flush() ;


実際には以下のようなスクリプトで参照して、[hogevalue]が無ければ再発行してるのですが、[hogevalue]が存在するはずなのに、再発行されています。
これがユーザの環境で起きていて、こちらの環境では現象を確認できていないので、SharedObject自体が消えているのか、SharedObject自体は存在するけど参照できないのか、または、SharedObjectが保持している値が消えているのか、といった切り分けは出来ていません。

ちなみに、クライアントはADSL接続らしいのですが、クライアント側のIPが変わると参照できなくなったりするのでしょうか?
SharedObjectが消えてしまったり、参照できなくなる条件についてご存知の方がいらっしゃれば、教えていただきたいのですが。


// SharedObject取得
var so = SharedObject.getLocal( so_name, "/" ) ;
// SharedObjectが存在する場合
if( so != NULL ){
  var hogeobj = so.data.hoge ;
  hogevalue = hogeobj['hogekey'] ;
}


よろしくお願いします。


----------------
--
Jun-ichi Inoue
jun@bagusnet.jp

スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops