METHOD GET PATHS FORM
METHOD GET PATHS FORM ( {aTable ;} arrPaths {; filter}{; stamp}{; *} )
引数 | 型 | 説明 | |
---|---|---|---|
aTable | Table | → | テーブル参照 |
arrPaths | Text array | ← | メソッドパスと名前の配列 |
filter | Text | → | 名前フィルター |
stamp | Real | → | スタンプの最小値 |
← | 新しい現在値 | ||
* | 演算子 | → | 指定時 = コンポーネントで実行されたとき、コマンドはホストデータベースに適用される (コンポーネントのコンテキスト以外ではこの引数は無視されます) |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
METHOD GET PATHS FORMコマンドはすべてのフォームオブジェクトとフォームメソッドの内部的なパス名と名前をarrPaths配列に返します。フォームメソッドには{formMethod}とラベルが付けられます。
コードを含むオブジェクトのみがリストされます。例えば標準アクションのみが割り当てられたボタンは返されません。
aTable引数を渡すと、コマンドはこのテーブルのテーブルフォームのオブジェクトを返します。この引数を省略するとコマンドはデータベースプロジェクトフォームのオブジェクトを返します。
filter引数に比較文字列を渡すことでリストを制限できます。この場合フィルターにマッチするフォームだけが返されます。"@"をワイルドカード文字として使用できます。空の文字列を渡すとfilter引数は無視されます。
stamp引数を使用すれば特定の時点以降に更新されたメソッドのパスだけを取得できます。バージョンコントロールシステムの一部として、最新のバックアップ以降に更新されたメソッドだけをアップデートするようにできます。
動作の概要: 4Dはメソッド更新カウンターを保持します。メソッドが作成され再び保存されるたびに、このカウンターは増分され、その現在値がメソッドの内部的なスタンプに格納されます。
stamp引数を渡すと、コマンドはこの引数に渡された値と同じかそれより大きなスタンプ値を持つメソッドのみを返します。さらにコマンドはstamp引数に更新カウンターの新しい値を返します。この値を保持すれば、次回このコマンドを呼び出す際にこの値を渡すことができ、前回のコマンド実行以降に作成あるいは更新されたメソッドのみを取得できます。
メソッドがコンポーネントから実行された場合、デフォルトでコンポーネントメソッドのパスが返されます。* 引数を渡すと配列にはホストデータベースのメソッドパスが返されます。
注: コマンドは継承フォームやサブフォームのオブジェクトを返しません。
コマンドが複製されたメソッド名を検知した場合、-9802エラー("オブジェクトパスが固有ではありません")が生成されます。この場合、MSCを使用してデータベースストラクチャーを検証することが望ましいと言えます。
例題 1
[Employees]テーブルの"input"フォームのすべてのオブジェクトをリストします。テーブルフォームメソッド (そしてプロジェクトフォームメソッド) はフォームに属するオブジェクトとして処理される点に留意してください:
METHOD GET PATHS FORM([Employees];arrPaths;"input")
// arrPaths配列の内容例
// [tableForm]/input/{formMethod} -> フォームメソッド
// [tableForm]/input/bOK -> オブジェクトメソッド
// [tableForm]/input/bCancel -> オブジェクトメソッド
例題 2
"dial"プロジェクトフォームのオブジェクトをリスト:
METHOD GET PATHS FORM(arrPaths;"dial")
例題 3
コンポーネントから[Employees]テーブル中"input"で始まるフォームのすべてのオブジェクトをリスト:
METHOD GET PATHS FORM(([Employees];arrPaths;"input@";*)