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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     理解できないエラー
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
くまがい
Åê¹ÆNo.22753
投稿日時: 2006-1-13 14:52
常連
居住地:
投稿: 82
使用環境:
Flash MX2004 Pro
WinXP
理解できないエラー
原因と回避方法が分からず苦戦しております。

現在フォームを2つ用いたフォームアプリケーションをテストしています。

それぞれのフォームにmyGridというインスタンス名のDataGridコンポーネントを配置しています。
大きさは適当に300×200です。

それぞれのフォームのフレームアクションの1コマ目に以下のスクリプトを記述しています。
import mx.controls.gridclasses.DataGridColumn;

with (this.myGrid){
addColumn(new DataGridColumn("Column1"));
addColumn(new DataGridColumn("Column2"));
addColumn(new DataGridColumn("Column3"));
:
:
addColumn(new DataGridColumn("Column11"));
12列追加

getColumnAt(0).width = 80;
getColumnAt(1).width = 100;
getColumnAt(2).width = 100;
:
:
getColumnAt(11).width = 80;

hScrollPolicy = "auto";
}

この時点でパブリッシュすると問題なく動作するのですが,次の2つの条件に変更すると,
「ムービー内のスクリプトが原因で,Flash Playerの実行速度が遅くなっています。
このまま継続すると、応答しなくなることがあります。スクリプトの実行を中止しますか?」
というエラーが出ます。

条件1:3つ目のフォームを追加し,同様にグリッドを配置し、同スクリプトを記述した場合。
条件2:2つのフォームのグリッドのサイズを800×400などに大きくした場合。

エラーの内容をそのまま理解すれば、スクリプトが原因なのでしょうが,3つ目のフォームを追加してからエラーが出るのは理解できませんし,グリッドの大きさを変更しただけでエラーが出るのは更に理解できません。

このアプリケーションはテストのために使用していますが,実環境のアプリケーションには、フォームが20フォーム、大き目のグリッドが8程あります。

エラーを回避する方法をご存知の方,ご教授お願いします。
くまがい
Åê¹ÆNo.22754
投稿日時: 2006-1-13 15:04
常連
居住地:
投稿: 82
使用環境:
Flash MX2004 Pro
WinXP
Re: 理解できないエラー
自己レスです。

調べていて一部分かったことがあります。

現在作業しているPCはメモリが256MBなのですが,もう1台のスペックの高いPC(メモリ1GB)でパブリッシュすると、エラーが出ませんでした。

ということは,スクリプトが原因なのではなく,マシンのスペックが低いことによるエラーなのでしょうか?
野中文雄
Åê¹ÆNo.22755
投稿日時: 2006-1-13 15:06
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 理解できないエラー
Flash Playerは、バスケットボール並みに「オーバータイム」を取ります。15秒ルールに、ひっかかっていませんか?
引用:
くまがいさんは書きました:
この時点でパブリッシュすると問題なく動作するのですが,次の2つの条件に変更すると,
「ムービー内のスクリプトが原因で,Flash Playerの実行速度が遅くなっています。
このまま継続すると、応答しなくなることがあります。スクリプトの実行を中止しますか?」
というエラーが出ます。

条件1:3つ目のフォームを追加し,同様にグリッドを配置し、同スクリプトを記述した場合。
条件2:2つのフォームのグリッドのサイズを800×400などに大きくした場合。

そのほか、スクリプトをメインに仕事をされる方が取られやすいファールに、「256超回帰」があります。


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

うすあじ
Åê¹ÆNo.22756
投稿日時: 2006-1-13 15:06
職人
居住地: 東京都杉並区
投稿: 211
使用環境:
FlashCS5.5 ,MacOSX 10.6.8
Re: 理解できないエラー
引用:
現在作業しているPCはメモリが256MBなのですが,もう1台のスペックの高いPC(メモリ1GB)でパブリッシュすると、エラーが出ませんでした。


スペックによるものもあると思いますが、おそらく2つのマシンでプレイヤーのバージョンが違います。

同じフレームを繰り返すようなスクリプトだと、このようなメッセージが出ることがあります。


----------------
うすあじ(twitter)
うすあじFlash研究所
HSPセンター

くまがい
Åê¹ÆNo.22759
投稿日時: 2006-1-13 15:34
常連
居住地:
投稿: 82
使用環境:
Flash MX2004 Pro
WinXP
Re: 理解できないエラー
野中様、うすあじ様。
ありがとうございます。

Playerのバージョンはどちらもwin版8.0.22.0です。

野中様の説明にあります「15秒ルール」は知りませんでした。
このことが原因の1つになっているとも思います。

グリッドに限らず,大規模なアプリケーションを作成した場合などには、ロースペックなマシンで実行するとこのようなエラーが出て、一部のマシンでは再生できないということでしょうか!?

(たどすると、このアプリを動かすための推奨スペックといいますか,保証するスペックを利用者に告知する必要が出てきたりしますよね)

引用:

同じフレームを繰り返すようなスクリプトだと、このようなメッセージが出ることがあります。


同じフレームを繰り返すというのはどのようなことでしょうか。
同じような内容のスクリプトを何度も繰り返す・・・!?という意味ではないですよね?

たった2つのフォーム(グリッド)でこのようなエラーが出てしまうのは驚きですが,皆さんのとられている対処法はございますでしょうか?

よろしくお願いします。
うすあじ
Åê¹ÆNo.22815
投稿日時: 2006-1-14 20:10
職人
居住地: 東京都杉並区
投稿: 211
使用環境:
FlashCS5.5 ,MacOSX 10.6.8
Re: 理解できないエラー
"同じフレームを繰り返す"というのはわかりにくかったですね。
forなどの命令で、1フレーム内でループする場合のことです。
15秒ルールと関係あるのかもしれません。
同じ処理でも複数のフレームに分けてループする構造にすれば回避できました。(昔は)


----------------
うすあじ(twitter)
うすあじFlash研究所
HSPセンター

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

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