4D v14.3METHOD SET CODE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
METHOD SET CODE
|
METHOD SET CODE ( path ; code {; *} ) | ||||||||
引数 | 型 | 説明 | ||||||
path | テキスト, テキスト配列 |
![]() |
メソッドパスを格納したテキストまたはテキスト配列 | |||||
code | テキスト, テキスト配列 |
![]() |
指定したメソッドのコード | |||||
* | 演算子 |
![]() |
指定時 = コンポーネントで実行されたとき、コマンドはホストデータベースに適用される (コンポーネントのコンテキスト以外ではこの引数は無視されます) | |||||
METHOD SET CODEコマンドはpath引数で指定したメソッドのコードをcode引数に渡した内容で置き換えます。このコマンドはデータベースメソッド、トリガー、プロジェクトメソッド、フォームメソッド、オブジェクトメソッドなどすべてのタイプのメソッドのコードにアクセスできます。
プロジェクトメソッド: データベースにメソッドが既に存在する場合、内容が置換されます。存在しなければ新しく作成されます。
テキスト配列あるいはテキスト変数を使用する2通りのシンタックスを使用できます:
ARRAY TEXT(arrPaths;0) // テキスト配列
ARRAY TEXT(arrCodes;0)
METHOD SET CODE(arrPaths;arrCodes) // 複数のメソッドのコード
この2つのシンタックスを混合して使用することはできません。
無効なパス名を渡した場合、コマンドはなにも行いません。
メソッドコードの先頭行に有効なメタデータ(JSON表記)が含まれる場合、それらはメソッド属性を指定するために使用され、先頭行はコードには含まれません。メタデータの例は以下の通りです:
// %attributes = {invisible:true,lang:"fr"}
注: これらのメタデータはMETHOD GET CODEコマンドで自動的に生成されます。
メタデータの「フォルダ」プロパティに関しては、以下の点に留意して下さい。
このコマンドをコンポーネントから実行することもできますが、この場合 (コンポーネントコードには書き込みアクセスができないため) * 引数を渡さなければなりません。この状況で * 引数を省略するとエラー-9763が生成されます。
この例題ではアプリケーションのすべてのメソッドを書き出し/読み込みします:
$root_t:=Get 4D folder(Database folder)+"methods"+Folder separator
ARRAY TEXT($fileNames_at;0)
CONFIRM("メソッドを読み込みますか、書き出しますか?";"Import";"Export")
If(OK=1)
DOCUMENT LIST($root_t;$fileNames_at)
For($loop_l;1;Size of array($fileNames_at))
$filename_t:=$fileNames_at{$loop_l}
DOCUMENT TO BLOB($root_t+$filename_t;$blob_x)
METHOD SET CODE($filename_t;BLOB to text($blob_x;UTF8 text without length))
End for
Else
If(Test path name($root_t)#Is a folder)
CREATE FOLDER($root_t;*)
End if
METHOD GET PATHS(Path project method;$fileNames_at)
METHOD GET CODE($fileNames_at;$code_at)
For($loop_l;1;Size of array($fileNames_at))
$filename_t:=$fileNames_at{$loop_l}
SET BLOB SIZE($blob_x;0)
TEXT TO BLOB($code_at{$loop_l};$blob_x;UTF8 text without length)
BLOB TO DOCUMENT($root_t+$filename_t;$blob_x)
End for
End if
SHOW ON DISK($root_t)
プロダクト: 4D
テーマ: デザインオブジェクトアクセス
番号:
1194
初出: 4D v13
変更: 4D v14
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)
Inherited from : METHOD SET CODE ( 4D v13.5)