A188-3:
@ [テーブル]や[テーブル格納変数]から発生する「Array index out of range」は指定した位置に行や列が存在しない時に発生するエラーです。
今回は「行データリストを位置指定で取得する(int)」の引数を0,1,2・・・と変更した処理を順番に繋げて頂いていると思います。指定した行が無く、エラーが発生し途中で止まっても、止まる前までの処理は行われ、データは設定されていると思われます。
試しに引数が「5」の処理を一番最初に行われるように移動すると、全くデータは設定されないかと思います。
起動モード「Finally」や「エラー発生時起動」を設定するとエラーメッセージは発生しないのですが、エラー自体は発生して、処理は途中で止まっています。
エラーメッセージが発生しないのは却って困ることも多いので、開発中は処理の変更でエラーを潰していき、完成時に「Finally」等を設定して頂くようお勧めしています。
エラーが発生しても、ほとんどの場合原因不明ということはなく回避方法がございますので、これも大変お手数かとは存じますが、ご連絡頂ければ幸いです。
また、MZPlatformには「デバッガ機能」もございます。
デバッガは処理を止めて見たい箇所に「ブレイクポイント」を設定し、引数や戻り値など確認できるものです。『デバッガ操作説明書』もございますので「ドキュメントインデックス」からご覧下さい。
デバッガも万能ではなく、並行して同時に行われている処理(例:[タイマー]での動作)などは一方しか追えなかったり、最初は見方も難しかったりしますが、よろしければお試し下さい。
[サブルーチン]は接続を纏め、処理を呼び出しやすく、また把握しやすくする目的で使われています。行いたい処理の順番が変わらなければ[サブルーチン1]に全部一度に繋げて頂いて結構です。
[サブルーチン2]を使う場合には、[サブルーチン1]が繋がっているイベントに同じように繋げて下さい。この時メソッド「処理を呼び出す()」を設定し、[サブルーチン]から出すイベント処理は「アクションイベント」を選択します。
[サブルーチン]のイベントは、全種類が候補として出てきます。しかしアクションイベント以外はメソッド「イベントを渡して処理を呼び出す(PFEvent)」を使用した時だけ使います。
(例:
[テーブル]---データ選択イベント
---[サブルーチン]
「イベントを渡して処理を呼び出す(PFEvent)」
引数:取得方法:イベント
[サブルーチン]---データ選択イベント----[テキストフィールド])
メソッド「イベントを渡して処理を呼び出す(PFEvent)」は「イベント内包」データや「イベント番号」など、イベントをそのまま伝えた方が処理がしやすい場合に使用します。通常は「処理を呼び出す()」+「アクションイベント」とお考え下さい。
A前回ご質問頂いたクリアの処理ですが、基本的には[テキストフィールド]には「空文字を設定する」ことが文字のクリアになるのですが、
[オブジェクトキュー]を使っている場合には、現在の[サブルーチン]-「テキストを設定する(引数はオブジェクトキューのオブジェクトの取得)]処理を使って、クリアできることを失念しておりました。
「タブ使用.mzax」のアプリケーション終了イベントをご覧下さい。
新たに処理を作成するお手数をお掛けしていましたら、申し訳ございません。
ただし、これは今回の処理に限定されるもので、基本は何らかの形で空文字を設定することになります。