version 2004
EDIT FORM (aTable; form{; userForm{; library}})
| 引数 | 型 | 説明 | |
| aTable | テーブル | 修正するフォームのテーブル | |
| form | 文字列 | 修正するテーブルフォームの名前 | |
| userForm | 文字列 | 修正するユーザフォームの名前 | |
| library | 文字列 | 使用可能なオブジェクトライブラリの完全なパス名 |
説明
EDIT FORM コマンドを使用して、ユーザフォームエディタで aTable、form およびオプションの引数 userForm を用いて指定されたテーブルフォームを開きます。
Note: エディタのウィンドウはプロセスでの最初のウィンドウの場合のみ開きます。つまり、通常では、エディタを表示するために新しいプロセスを開くことが必要となります。
userFormに空の文字列を渡し、formとリンクされているユーザフォームがまだない場合、ソースフォームがエディタに表示されます。そして修正されたフォームがユーザストラクチャファイル (.4DA) にコピーされ代替 form として使用されます。
このコマンドを用いて、ユーザフォームが既に form から作成されていた場合、そのユーザフォームがエディタに表示されます。ソースフォームから開始をしたい場合は、DELETE USER FORM コマンドを用いてユーザフォームを必ず 最初に削除しなければなりません。
引数 userForm を用いて、修正するユーザフォーム (CREATE USER FORM コマンドを用いて作成された) を設定することができます。この場合、そのフォームがエディタに表示されます。
オプションの引数 library には、ユーザがフォームをカスタマイズするために使用可能なオブジェクトライブラリの完全なアクセスパスを渡します。ユーザフォームエディタと一緒に使用すると、オブジェクトライブラリから、グラフィックプロパティや自動アクションを保持したままオブジェクトをペーストできます。メソッド付きのオブジェクトはライブラリに表示されません。ライブラリオブジェクトの名前、変数、タイプがユーザフォーム (とそのオブジェクト) と互換性があるかを確認するのはデベロッパの責任です。
クライアント/サーバモードでは、ライブラリはPlugins フォルダと同じレベルにあるデータベースのResources フォルダに存在していなければなりません。そうであればすべてのクライアントマシンで利用することができます。ライブラリが有効な場合、そのライブラリはフォームウィンドウとともに開きます。
オブジェクトライブラリに関する詳細については、4DドキュメントのDesign Reference マニュアルを参照してください。
例題
この例題では、ユーザはライブラリを選択して、ダイアログフォームを修正します。
MAP FILE TYPES("4DLB";"4IL";"4D Library")
$vALib:=Select document(1;"4DLB";"Please select a library";0)
If(OK=1)
`ライブラリが選択されました。
$vALibPath:=Document
Else
$vALibPath:=""
End if
EDIT FORM([Dialogs];"Welcome";"Lib_Logos.4il")
If(OK=1)
`修正されたフォームの表示。
DIALOG([Dialogs];"Welcome")
End if
参照
CREATE USER FORM, DELETE USER FORM, LIST USER FORMS, ユーザフォームの概要.
システム変数またはセット
ユーザがフォームに加えられた変更を保存した場合、OK変数に1が代入されます。エラーの場合は、OK変数に0が代入されます。
エラー処理
以下の場合、エラーが生成されます。
・デザインモードで、フォームがユーザによって編集可能と指定されていない場合や、フォームが存在しない場合。
・フォームが既に開いていて、他のプロセスで修正されている場合。
・ユーザが適切なアクセス権を持っていないため、フォームにアクセスできない場合。
ON ERR CALL コマンドを用いてインストールされたエラー処理メソッドでこのエラーを検知することができます。