※この現象は8.0.42.0で修正されました。
対象製品とバージョン
Forguncy 8.x
現象
ボタンクリックのコマンドのように一連のコマンド処理内で、「変数の設定」コマンドを使い自身の変数を繰り返し更新すると、コマンドの処理が終わるまでの時間が遅くなり「Out of Memory」の例外エラーメッセージが表示されます。
発生条件:
以下の条件にすべて当てはまる場合に発生します。
- クライアント側で実行される「変数の設定」コマンドを使用している(サーバーサイドコマンドの「変数の設定」の場合、本不具合は発生しません)。
- 「変数の設定」コマンドで定義した変数に対し 、値として自身の変数の参照した数式を「変数の設定」コマンドで繰り返し設定している。
(例)
次の画像のように、変数Aを定義し、値として「繰り返し」コマンド内でAを参照した数式「=IF(A>0,A&"10",A)」を指定すると発生します。
「変数の設定」コマンドが何度も実行されると、最終的な計算式の複雑さが増し内部の入れ子が深くなります。本不具合は、この入れ子が深くなると発生します。
例えば、下記のケース1とケース2では、同じ回数分、変数Aを参照する数式を繰り返しています。同じ回数でもケース2の数式の方が内部の入れ子が深くなりますので、問題はケース2の方が発生しやすくなります。
回避方法
以下のいずれかの方法で回避してください)。
- 「変数の設定」コマンドで自身の変数を繰り返し設定しないように、ページ上のセル参照で代用してください。
例えば、ケース2の場合、次のような流れになります。
1.「B2」セルに1の初期値を指定します。
2.「変数の設定」コマンドでは、変数Aに「=B2」を設定します。
3.「繰り返し」コマンド内で「セルプロパティの設定」コマンドを使用して「B2」に「=IF(B2>0,B2&"10",B2)」を指定します。 - サーバーサイドコマンドで一連の処理を実行させるように変更してください。
文書種別
不具合
検索キーワード: fgcbug