4D View Pro ではフォーミュラ内にて4D プロジェクトメソッドを呼び出すことができます。4D プロジェクトメソッドを使用することで、4D View Pro ドキュメントの可能性を拡大させることができます。4D メソッドは4D View Pro エリアから引数を受け取ることができ、また値を返すことができます。セキュリティ上の理由から、明示的に許可されたメソッドのみがユーザーによって呼び出し可能です。
4D View Pro フォーミュラ内で呼び出すためには、プロジェクトメソッドは以下の条件を満たしている必要があります:
注: VP SET CUSTOM FUNCTIONS またはVP SET ALLOWED METHODS コマンドがセッション中に一度も実行されていない場合、4D View Pro カスタムファンクションには 4D の SET ALLOWED METHODS コマンドで一般的に許可されたメソッドが使用できます。この場合、プロジェクトメソッド名は JavaScript Identifier Grammar (ECMA Script standard 参照) に則している必要があります。
設定ダイアログボックス内の全体フィルタリングオプション (データアクセス権参照) はいずれの場合でも無視されます。
4D プロジェクトメソッドを使用して4D View Pro エリアのセル内に"Hello World" と表示したい場合を考えます:
- 以下のコードを持つ、"myMethod" プロジェクトメソッドを作成します:
#DECLARE->$hw Text
$hw:="Hello World"
- 4D View Pro エリアを含んでいるフォーメソッドにおいて、以下のように書きます:
- 4D View Pro エリア内でセルの中身を編集し、以下のように入力します:

"myMethod" が4D によって呼ばれ、セルは以下のように表示します:

以下のシンタックスを使用することで、4D プロジェクトメソッドに引数を渡すことができます:
=METHODNAME(param1,param2,...,paramN)
これらの引数はmethodName のメソッドに、$1, $2...$N として受け取られます。
( ) は、例え引数を渡さない場合でも必須であるという点に注意してください:
=METHODWITHOUTNAME()
VP SET CUSTOM FUNCTIONS (またはVP SET ALLOWED METHODS)コマンドに渡す関数オブジェクトの parameters コレクションを介して引数の名称、型、番号を指定することができます。また、任意の minParams と maxParams プロパティを指定することで、ユーザーが渡せる引数の数を管理することもできます。
引数を宣言しない場合、値は順番にメソッドに受け渡され ($1, $2 ... に値が入ります)、型は自動的に変換されます。日付(js タイプ): 4D メソッド内では、二つのプロパティを持つC_OBJECT として渡されます:
プロパティ | 型 | 詳細 |
value | 日付 | 日付値 |
time | 実数 | 秒単位の時間 |
4D プロジェクトメソッドはまた、$0 を介して4D View Pro セルフォーミュラ内に値を返すこともできます。返される引数としては、以下のデータ型がサポートされます:
- C_TEXT (4D View Pro 内では文字列に変換される)
- C_REAL/C_LONGINT (4D View Pro 内では数値に変換される)
- C_DATE (4D View Pro 内ではJS 日付型(時間、分、秒 = 0)に変換される)
- C_TIME (4D View Pro 内ではJS 日付型(基準日に基づいた日付、例: 1899/12/30)に変換される)
- C_BOOLEAN (4D View Pro 内ではブールに変換される)
- C_PICTURE (jpg,png,gif,bmp,svg タイプ。他のタイプはpng に変換される) URI(data:image/png;base64,xxxx)を作成し、フォーミュラが実行された4D View Pro のセルの背景画像として使用される。
- C_OBJECT 次の2つのプロパティを格納するため、日時の受け渡しが可能。
プロパティ | 型 | 詳細 |
value | 日付 | 日付値 |
time | 実数 | 秒単位の時間 |
4D メソッドが何も返さない場合、空の文字列が自動的に返されます。
以下の場合にはエラーが4D View Pro のセル内に返されます:
- 4D メソッドが上記以外の型を返す場合
- 4D メソッドの実行中にエラーが発生して、ユーザーが"閉じる"ボタンを押した場合