そのルーチンが定義されているオブジェクトに対してローカルなルーチンです。つまり、名前で識別されるコードブロックです。
Do コマンドを使用して、オブジェクト内からのみ実行できます。
同じコードブロックをオブジェクトの複数の場所から実行する必要がある場合、1 回記述すれば複数の場所から呼び出すことができます。
サブルーチンは
Sub コマンドを使用して定義します。
作成される場所は次のとおりです。エレメント内で手続き型プログラミングを使用できるオブジェクト内。
- パラメーターの受け渡しはサポートされていないため、オブジェクトに対してグローバルな変数を使用してデータを交換します。
- 変数およびオブジェクトパラメーター以外のコンテキストは認識しません。このため、いくつかの影響が生じます:
- サブルーチンで定義されたプログラム内で、厳密でない項目属性を使用して呼び出しを行った場合、同じ値が取得されるとは限りません (サブルーチンは、オブジェクト内のさまざまな場所から呼び出されることがあります)。サブルーチンを呼び出す前に、それらの項目属性を変数に割り当て、サブルーチンではその変数を使用することをお勧めします。
- サブルーチンに For each コマンドまたは New コマンドが含まれる場合:
- サブルーチンは、呼び出し元である For each コマンドまたは New コマンドでネストされません。そのため、推測やフィルタリングは行われません。
- グリッド、または Web Panel、Panel、Work Panel の固定部分に対応する暗示的な For each コマンドでネストされません。
プロシージャーの [ Source ] または前述のいずれかのオブジェクトの [ Events ] エレメントに、次のサブルーチンを呼び出す For each コマンドがあるとします:
Do 'Something'
'Something' サブルーチンは次のように定義されています:
Sub ‘Something’
For each
…
Endfor
Endsub
この場合、サブルーチン内の For each コマンドは、サブルーチンの呼び出し元である For each コマンドでネストされません。関連付けられないため、自動的なフィルタリングや推論は行われません。
注: オブジェクトで使用される項目属性は、対応する生成されたプログラムではグローバル変数になります。そのため、オブジェクトの特定のセクションで特定の項目属性に値が設定されている場合に、同じ項目属性に値を割り当てるサブルーチンが後で呼び出されると、呼び出されたサブルーチンから戻り、その項目属性の値を参照すると、サブルーチンで割り当てられた値が返されます。