WA SET CONTEXT
WA SET CONTEXT ( {* ;} object ; contextObj )
| 引数 | 型 | 説明 | |
|---|---|---|---|
| * | 演算子 | → | 指定時、object はオブジェクト名(文字列)。 省略時、object は変数。 | 
| object | any | → | オブジェクト名 (* 指定時) または変数 (* 省略時) | 
| contextObj | Object | → | $4dを使用して呼び出せる関数を格納したオブジェクト | 
説明
WA SET CONTEXT コマンドは、 * および object 引数で指定されたWeb エリア内の $4d に対して contextObj 引数で指定したコンテキストオブジェクトを定義します。 このコマンドが使用されると、 $4d は提供された contextObj 内で宣言されたコンテンツのみにアクセスできます。 コンテキストオブジェクトが何も設定されていない場合、 $4d はすべての4D メソッドにアクセスできますが、ユーザークラスにはアクセスできません。
注
このコマンドは、埋め込みWebレンダリングエンジンを使用 および 4Dメソッドコールを許可 が true になっている埋め込みWeb エリアにおいてのみ使用可能です。
contextObj 引数には、 $4d で許可したいユーザークラスインスタンスまたはフォーミュラをオブジェクトとして渡します。 ただし _ で始まるクラス関数は非表示とみなされるため、 $4d から使用することはできません。
- contextObj が null の場合、$4dはすべての4D メソッドにアクセスできます。
- contextObj が空の場合、$4dはメソッドに対しアクセスができません。
例題 1
$4d に特定のメソッドを許可する
 var $context:={}
 $context.myMethod:=Formula(myMethod)
 $context.myMethod2:=Formula(myMethod2)
 WA SET CONTEXT(*; "myWebArea"; $context)
JavaScript 側:
$4d.myMethod(); // 許可されている
$4d.myMethod2(); // 許可されている
$4d.someOtherMethod(); // アクセス不可
例題 2
クラスオブジェクトを使用する場合を考えます
 var $myWAObject:=cs.WAFunctions.new()
 WA SET CONTEXT(*; "MyWA"; $myWAObject)
JavaScript 側:
$4d.myWAFunction(); // 許可されている
$4d._myPrivateFunction(); // 関数が非公開扱いになっているため何もしません
参照
プロパティ
| コマンド番号 | 1848 | 
| スレッドセーフ | ✗ |