METHOD RESOLVE PATH
METHOD RESOLVE PATH ( path ; methodType ; ptrTable ; objectName ; formObjectName {; *} )
引数 | 型 | 説明 | |
---|---|---|---|
path | Text | → | 解決するパス |
methodType | Integer | ← | オブジェクトタイプセレクター |
ptrTable | Pointer | ← | テーブル参照 |
objectName | Text | ← | フォームまたはデータベースメソッド名 |
formObjectName | Text | ← | フォームオブジェクト名 |
* | 演算子 | → | 指定時 = コンポーネントで実行されたとき、コマンドはホストデータベースに適用される (コンポーネントのコンテキスト以外ではこの引数は無視されます) |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
METHOD RESOLVE PATHコマンドはpath引数に渡された内部パス名を解決し、methodType、ptrTable、objectName、そして formObjectName引数にそれぞれ情報を返します。
methodType 引数はメソッドのタイプを示す値を受け取ります。この値をDesign Object Accessテーマの定数と比較することができます:
定数 | 型 | 値 | コメント |
---|---|---|---|
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 |
注意: コマンドはあ、実際にメソッドがデータベース/プロジェクト内に存在するかどうかはチェックしません。エラーは無効なテーブル名が渡されたときにのみ生成されます。
ptrTable 引数は、パスがテーブルフォームメソッドやトリガーを参照する場合、データベーステーブルへのポインターを受け取ります。
objectName 引数は以下のいずれかを受け取ります:
- パスがテーブルフォームまたはプロジェクトフォームを参照する場合、フォーム名
- パスがデータベースメソッドを参照する場合、データベースメソッド名
formObjectName 引数は、パスがオブジェクトメソッドを参照する場合、フォームオブジェクト名を受け取ります。
コマンドがコンポーネントから実行された場合、デフォルトではコンポーネントメソッドに関する情報を返します。* 引数を渡すと、ホストデータベースメソッドに関する情報を返します。
例題 1
データベースメソッドパスの解決:
var $methodType : Integer
var $tablePtr : Pointer
var $objectName : Text
var $formObjectName : Text
METHOD RESOLVE PATH("[databaseMethod]/onStartup";$methodType;$tablePtr;$objectName;$formObjectName)
// $methodType: 2
// $tablePtr: Nil ポインター
// $objectName: "onStartup"
// $formObjectName: ""
例題 2
テーブルフォームのオブジェクトメソッドのパス解決:
var $methodType : Integer
var $tablePtr : Pointer
var $objectName : Text
var $formObjectName : Text
METHOD RESOLVE PATH("[tableForm]/Table1/output1/myVar1";$methodType;$tablePtr;$objectName;$formObjectName)
// $methodType: 16
// $tablePtr: -> [Table1]
// $objectName: "output*1"
// $formObjectName: "Btn*1"