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

VP SET ALLOWED METHODS

VP SET ALLOWED METHODS ( methodObj : Object)

引数説明
methodObjObject->4D View Pro エリアでの実行を許可するメソッド

互換性

より高い柔軟性のため、4D View Pro エリアから呼び出せる 4Dフォーミュラを指定できる VP SET CUSTOM FUNCTIONS コマンドの使用が推奨されます。 VP SET CUSTOM FUNCTIONS が呼び出された場合、VP SET ALLOWED METHODS の呼び出しは無視されます。 VP SET CUSTOM FUNCTIONSVP SET ALLOWED METHODS のどちらも呼び出されていない場合、4D View Pro は 4D の汎用コマンド SET ALLOWED METHODS もサポートしますが、汎用コマンドの使用は推奨されません。

説明

VP SET ALLOWED METHODS コマンドは、4D View Pro フォーミュラから呼び出し可能なプロジェクトメソッドを指定します。 このコマンドは、呼び出し後のセッション中に初期化される 4D View Pro エリアすべてに対して適用されます。 同じセッション中において異なる設定で初期化をするために、複数回呼び出すこともできます。

セキュリティ上の理由により、 VP SET ALLOWED METHODS コマンドを実行していない場合のデフォルトでは、4D View Pro エリアにおいてはメソッドの呼び出しは許可されません (ただし、4D の汎用的な SET ALLOWED METHODS コマンドが呼び出されていた場合を除きます (前述の互換性に関する注記参照)。 許可されていないのメソッドをフォーミュラ内で使用した場合には、4D View Pro エリアに #NAME? エラーが表示されます。

methodObj には、4D View Pro エリア内で定義したいファンクションの名前をプロパティとして格納しているオブジェクトを渡します:

プロパティ説明
<functionName>Objectカスタムファンクションの名前。 <functionName> プロパティ名は、4D View Pro フォーミュラで表示するカスタムファンクションの名前を定義します (スペースは使用できません)
methodText(必須) 許可する既存の 4D プロジェクトメソッドの名前
parametersObject の Collection引数のコレクション (メソッド内で定義されている順) 詳細については 引数 の章を参照ください。
[ ].nameText<functionName> 用に表示する引数の名前。: 引数の名前にスペースを含めることはできません。
[ ].typeNumber引数の型。 サポートされている型:
  • Is Boolean
  • Is collection
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • type は省略することができます (ただし、コレクション型の引数が 1つでも存在する場合は、引数の型宣言は必須です)。
    type を省略した場合、値は型と一緒に渡されますが、日付と時間の値に関してはオブジェクトとして送られます。 typeIs object の場合、オブジェクト引数は .value プロパティに格納されて渡されます。 引数 の章を参照ください。
    summaryText4D View Pro に表示するファンクションの説明
    minParamsNumber引数の最小の数
    maxParamsNumber引数の最大の数。 ここに parameters の length より大きな値を渡すことによって、デフォルトの型を持つ "任意の" 引数を宣言することができるようになります。

    例題

    4D View Pro エリアにおいて、2つのメソッドを許可します:

    C_OBJECT($allowed)
    $allowed:=New object // コマンドに渡す引数

    $allowed.Hello:=New object // "Hello" という名前の 1つ目の簡単なファンクションを作成します
    $allowed.Hello.method:="My_Hello_Method" // 4Dメソッドを設定します
    $allowed.Hello.summary:="Hello prints hello world"

    $allowed.Byebye:=New object // "Byebye" という名前の、引数を受け付ける 2つ目のファンクションを作成
    $allowed.Byebye.method:="My_ByeBye_Method"
    $allowed.Byebye.parameters:=New collection
    $allowed.Byebye.parameters.push(New object("name";"Message";"type";Is text))
    $allowed.Byebye.parameters.push(New object("name";"Date";"type";Is date))
    $allowed.Byebye.parameters.push(New object("name";"Time";"type";Is time))
    $allowed.Byebye.summary:="Byebye prints a custom timestamp"
    $allowed.Byebye.minParams:=3
    $allowed.Byebye.maxParams:=3

    VP SET ALLOWED METHODS($allowed)

    このコードが実行されたあと、定義されたファンクションは 4D View Pro フォーミュラで使用することができるようになります:

    インデックスは 0 起点です。

    参照

    4D ファンクション
    VP SET CUSTOM FUNCTIONS