メインコンテンツまでスキップ
バージョン: 次へ

WA SET CONTEXT

WA SET CONTEXT ( {* ;} object ; contextObj )

引数説明
*演算子指定時、object はオブジェクト名(文字列)。 省略時、object は変数。
objectフォームオブジェクトオブジェクト名 (* 指定時) または変数 (* 省略時)
contextObjObject$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(); // 関数が非公開扱いになっているため何もしません

参照

WA Get context

プロパティ

コマンド番号1848
スレッドセーフ