4D v16.3METHOD SET ATTRIBUTES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
METHOD SET ATTRIBUTES
|
METHOD SET ATTRIBUTES ( path ; attributes {; *} ) | ||||||||
引数 | 型 | 説明 | ||||||
path | テキスト, テキスト配列 |
![]() |
メソッドのパス | |||||
attributes | Object, Object array |
![]() |
選択したメソッドに対して設定する属性 | |||||
* | 演算子 |
![]() |
指定すると、コマンドはコンポーネントから実行されたときにホストデータベースへと適用されます (このコンテキスト外ではこの引数は無視されます) | |||||
METHOD SET ATTRIBUTES コマンドは、path 引数で指定したメソッドの、attributes 引数で指定した値を設定することができます。
path 引数にはメソッドパスを含んだテキストか、パスの配列を含んだテキスト配列を渡す事ができます。attributes 引数には、属性を適切に設定するために、同様の引数(文字列または配列)を渡す必要があります。このコマンドはプロジェクトメソッドに対してのみ使用できます。path 引数に無効なパスを渡した場合、エラーが生成されます。
attributes 引数には、メソッドに対して設定した属性を全て含んだオブジェクトまたはオブジェクトの配列を渡します(渡したpath 引数の種類によります)。
メソッドの属性はOB SET または OB SET ARRAY コマンドを使用して設定する必要があります。ブール型の属性に対してTrueまたはFalseの値を、拡張された属性に対しては特定の値(例えば4D Mobile Property において"scope":"table" など)を設定します。attributes 引数に存在する属性のみがメソッド属性内で更新されます。
コマンドがコンポーネントから実行された場合、デフォルトではコンポーネントメソッドに対して適用されます。* 引数を渡した場合、コマンドはホストデータベースのメソッドへとアクセスします。
注: 既存のMETHOD SET ATTRIBUTE コマンドは引き続きサポートされますが、このコマンドはブール型の値しか扱えないために、4D Mobile プロパティなどの拡張された属性に対しては使用することができません。
サポートされる属性は以下の通りです:
{ "invisible" : false, // 表示状態であればtrue "preemptive" : "capable" // または "incapable" あるいは "indifferent" "publishedWeb" : false, // 4D tags と URLを通して使用可能であればtrue "publishedSoap": false, // Webサービスとして提供されていればtrue "publishedWsdl": false, // WSDLで公開されていればtrue "shared" : false, // コンポーネントとホストデータベースで共有されていればtrue "publishedSql" : false, // SQLを通して利用可能であればtrue "executedOnServer" : false, // サーバー側で実行されていればtrue "published4DMobile" : { "scope": "table", // "none" または "table" または "currentRecord" または "currentSelection" "table": "aTableName" // scope が "none" 以外の場合には表示される } }
注: "published4DMobile" 属性については、"table"の値が存在しない、または"scope" が有効でない場合には、これらの属性は無視されます。
属性を一つだけ設定したい場合を考えます:
C_OBJECT($attributes)
OB SET($attributes;"executedOnServer";True)
METHOD SET ATTRIBUTES("aMethod";$attributes) //"executedOnServer" 属性のみが変更されます
メソッドを、4D Mobileを経由では使用不可にしたい場合を考えます("scope"属性には"none"値を渡す必要があります):
C_OBJECT($attributes)
C_OBJECT($fourDMobileAttribute)
OB SET($fourDMobileAttribute;"scope";"none")
OB SET($attributes;"published4DMobile";$fourDMobileAttribute)
METHOD SET ATTRIBUTES("aMethod";$attributes)
プロダクト: 4D
テーマ: デザインオブジェクトアクセス
番号:
1335
初出: 4D v15
変更: 4D v15 R5
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)