Q132:選択リストを設定したテーブルの列で、値をリストから選択するとエラーが出ます。等価演算の所から、突然テーブルの項目に飛んでFOR文でエラーとなります。
A132:
お送りいただいたアプリケーションでは、テーブル(ID:17)の第2列の選択リストから項目を選択しますと、データ更新イベントが発生し、その後いくつかのイベント伝播を繰り返し、等価演算(ID:32)の処理完了イベントの「セルの値を設定する」の実行により、再度テーブル(ID:17)からデータ更新イベントが発生します。
この際、テーブルの選択位置はそのまま(2のまま)のため、無限ループが発生しております。
このようなループの回避には、「イベント伝播制御」コンポーネントを用いることができます。
テーブル(ID:17)のデータ更新イベントの発生時のメソッド実行の前に、「イベント伝播制御」コンポーネントをはさむことにより、イベント伝播を制御することができます。
具体的には、テーブル(ID:17)のデータ更新イベントに「イベント伝播制御」コンポーネントのメソッド「受け取ったイベントを発生させる」を設定し、データ更新イベントを伝播するようにしますが、その際に、
メソッド「イベント伝播無視モードを設定する(boolean)」
を使用し、一連の処理が終わるまで,再度「イベント伝播制御」コンポーネントからイベントが発生しないようにします。