4D v16.3

METHOD SET ATTRIBUTES

ホーム

 
4D v16.3
METHOD SET ATTRIBUTES

METHOD SET ATTRIBUTES 


 

METHOD SET ATTRIBUTES ( path ; attributes {; *} ) 
引数   説明
path  テキスト, テキスト配列 in メソッドのパス
attributes  Object, Object array in 選択したメソッドに対して設定する属性
演算子 in 指定すると、コマンドはコンポーネントから実行されたときにホストデータベースへと適用されます (このコンテキスト外ではこの引数は無視されます)

説明   

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)



参照 

METHOD GET ATTRIBUTES
METHOD SET ATTRIBUTE

 
プロパティ 

プロダクト: 4D
テーマ: デザインオブジェクトアクセス
番号: 1335

 
履歴 

初出: 4D v15
変更: 4D v15 R5

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)