メインコンテンツまでスキップ
バージョン: 開発中

METHOD GET PATHS

METHOD GET PATHS ( {folderName ;} methodType ; arrPaths {; stamp}{; *} )

引数説明
folderNameTextホームページのフォルダー名
methodTypeInteger取得するメソッドタイプセレクター
arrPathsText arrayメソッドパスおよび名前の配列
stampRealスタンプの最小値
新しい現在値
*演算子指定時 = コンポーネントで実行されたとき、コマンドはホストデータベースに適用される (コンポーネントのコンテキスト以外ではこの引数は無視されます)

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

METHOD GET PATHSコマンドはアプリケーションのうち、methodType引数で指定したタイプであるメソッドの内部的なパス名と名前をarrPaths配列に返します。

メソッドが4Dエクスプローラーのホームページでフォルダーを使用して階層化されていれば、オプションのfolderName引数にフォルダー名を渡すことができます。この場合arrPaths配列にはこのフォルダーに含まれるメソッドのみのパスが返されます。

注: folderNameに"@"文字は使用できません。

methodType 引数にはarrPaths配列にパスを取得したいメソッドのタイプを渡します。Design Object Accessテーマの以下の定数を個別にあるいは加算して使用できます:

定数コメント
Path all objects倍長整数-1データベースのすべてのメソッドのパス
Path class倍長整数32クラス定義のパス。例:
[class]/Person
[class]/Student
Path database method倍長整数2指定したデータベースメソッド名。以下のメソッドのリスト:
[databaseMethod]/onStartup
[databaseMethod]/onExit
[databaseMethod]/onDrop
[databaseMethod]/onBackupStartup
[databaseMethod]/onBackupShutdown
[databaseMethod]/onWebConnection
[databaseMethod]/onWebAuthentication
[databaseMethod]/onWebSessionSuspend
[databaseMethod]/onServerStartup
[databaseMethod]/onServerShutdown
[databaseMethod]/onServerOpenConnection
[databaseMethod]/onServerCloseConnection
[databaseMethod]/onSystemEvent
[databaseMethod]/onSqlAuthentication
[databaseMethod]/ onHostDatabaseEvent
[databaseMethod]/ onRESTAuthentication
[databaseMethod]/ onMobileAppAuthentication
[databaseMethod]/ onMobileAppAction
Path project form倍長整数4プロジェクトフォームメソッドとすべてのフォームオブジェクトメソッドのパス。例:
[projectForm]/myForm/{formMethod}
[projectForm]/myForm/button1
[projectForm]/myForm/mylist
[projectForm]/myForm/button1
Path project method倍長整数1メソッド名。
例: MyProjectMethod
Path table form倍長整数16テーブルフォームメソッドとすべてのフォームオブジェクトメソッド。例:
[tableForm]/table_1/Form1/{formMethod}
[tableForm]/table_1/Form1/button1
[tableForm]/table_1/Form1/mylist
[tableForm]/table_2/Form1/mylist
Path trigger倍長整数8データベーストリガーのパス。例:
[trigger]/table_1
[trigger]/table_2

stamp引数を使用すれば特定の時点以降に更新されたメソッドのパスだけを取得できます。バージョンコントロールシステムの一部として、最新のバックアップ以降に更新されたメソッドだけをアップデートするようにできます。
動作の概要: 4Dはメソッド更新カウンターを保持します。メソッドが作成され再び保存されるたびに、このカウンターは増分され、その現在値がメソッドの内部的なスタンプに格納されます。
stamp引数を渡すと、コマンドはこの引数に渡された値と同じかそれより大きなスタンプ値を持つメソッドのみを返します。さらにコマンドはstamp引数に更新カウンターの新しい値を返します。この値を保持すれば、次回このコマンドを呼び出す際にこの値を渡すことができ、前回のコマンド実行以降に作成あるいは更新されたメソッドのみを取得できます。

メソッドがコンポーネントから実行された場合、デフォルトでコンポーネントメソッドのパスが返されます。* 引数を渡すと配列にはホストデータベースのメソッドパスが返されます。

コマンドが複製されたメソッド名を検知した場合、-9802エラー("オブジェクトパスが固有ではありません")が生成されます。この場合、MSCを使用してデータベースストラクチャーを検証することが望ましいと言えます。

例題 1

"web"フォルダー内のプロジェクトメソッドを取得する:

 METHOD GET PATHS("web";Path project method;arrPaths)

例題 2

データベースメソッドとトリガーを取得する:

 METHOD GET PATHS(Path trigger+Path database method;arrPaths)

例題 3

最新のバックアップ以降に更新されたプロジェクトメソッドを取得する:

  // 前回のスタンプ値を参照
 $stamp :=Max([Backups]cur_stamp)
 METHOD GET PATHS(Path project method;arrPaths;$stamp)
  // 最新のスタンプ値を保存
 CREATE RECORD([Backups])
 [Backups]cur_stamp :=$stamp
 SAVE RECORD([Backups])

例題 4

METHOD SET CODEコマンドの例題参照。

参照

Current method path
METHOD GET FOLDERS