フック一覧 InitVal (項目フック) | 前の項目フック 次の項目フック |
VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)
◇ 役割 (この項目フックメソッドに委託されている処理)
この項目に初期値を設定する。
◇ 配置 (ツーピーススタイルの場合にこの項目フックメソッドをどこに配置できるか)
セントラルピースに配置するか、または配置しない。ローカルピースに配置することは禁止されている。
◇ 代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)
VB での書き方:
Friend Function InitVal(パラメタ宣言列) As 型名
または
Friend Function 項目略称_InitVal(パラメタ宣言列) As 型名
C# での書き方:
internal 型名 InitVal(パラメタ宣言列)
または
internal 型名 項目略称_InitVal(パラメタ宣言列)
Java での書き方:
型名 InitVal(パラメタ宣言列)
または
型名 項目略称_InitVal(パラメタ宣言列)
パラメタ宣言列の中には、項目名を含むようなパラメタを書くことができない。ただし、この項目の項目名または Di_This のように This を含むパラメタは書くことができる。
なお、フック名としては、InitVal の他に初期値を用いることができる。
◇ 呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)
新たな画面データの処理を開始するとき。画面フックメソッド Init の直前に呼び出される。
また、項目初期化または明細行初期化の指示がなされたときも呼び出される。
◇ 戻り値の意味とデフォルト動作 (戻り値による ItemBase への伝言)
この項目に初期値として設定すべき値 (数値または文字列)。
デフォルト動作: InitVal 画面フックメソッドが組み込まれていない場合の動作は、戻り値として Nothing (null) が設定された場合と同様である。
◇ 代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)
(関係する代行メッセージなし)
◇ 使用上のヒントと注意事項
初期値を設定する際にセントラル側の特定の資源 (データベースの参照など) が必要な場合には、この項目フックメソッドを用いるのがよい。セントラル側およびローカル側の特定の資源を必要としない場合には (あるいは双方に同じ資源がある場合には)、項目フックメソッド InitValLC を用いるのがよい。
ただし、この項目の値を参照して初期値を決定するような場合には、この項目フックメソッドを用いてください。
このフックメソッドで設定する値は、Check 系の項目フックメソッドでも RelCheck 系の項目群フックメソッドでもエラーにならないような値にしてください。
複数の項目のそれぞれに項目フックメソッド InitVal または InitValLC が組み込まれている場合には、それらの呼出しの順序がどのようになってもよいように、プログラミングする必要がある。
すなわち、他の項目の値を参照してこの項目の初期値を決定するようなことはできない。このようなことが必要であれば、初期値派生の機構 (Derived または DerivedLC) を用いてください。
InitVal は、項目初期化または明細行初期化の指示がなされたときにも呼び出される。これだけの理由ではないが、このフックメソッドの中でカウンタを更新するなどの履歴をもつ処理は問題を発生させるので、しないようにしてください。
◇ 関連事項
項目に値を設定する役割を果たす項目フックメソッドには、この他に Derived, DerivedLC, Furigana, InitValLC, SList, Term がある。また、パラメタに ByRef 指定をした Check 系の項目フックメソッドによっても項目に値を設定することができる。
項目に値を設定する役割を果たす項目フックメソッドには、この他に Derived, DerivedLC, Furigana, InitValLC, SList, Term がある。
◇ 使用例
' 円ドルレートの初期値を設定する。 Friend Function 初期値(ByVal fB As FormBase) As Decimal 換算レコード.SelectEqual("円ドルレート") Return 換算レコード.円ドルレート End Function ' 初期値
// 円ドルレートの初期値を設定する。 internal decimal 初期値( FormBase fB ) { 換算レコード.SelectEqual("円ドルレート"); return 換算レコード.円ドルレート; } // 初期値
// 円ドルレートの初期値を設定する。 BigDecimal 初期値( FormBase fB ) { 換算レコード.SelectEqual("円ドルレート"); return 換算レコード.円ドルレート; } // 初期値