フォームイベントをCase文で処理する理由
日付 | 2010/03/29 |
---|---|
ID | 76023 (英語原文参照) |
バージョン | 11 |
プラットフォーム | Mac & Win |
一部のデベロッパは、プロパティリストで必要なフォームイベントだけを有効にし、フォームメソッドおよびオブジェクトメソッド側ではイベントのチェックを省略するスタイルを取っているようです。そのようなコードは、後にイベントを追加する必要が生じたとき、あるいは一部のイベントを無効にし損ねた場合など、潜在的な問題を抱えることになるかもしれません。むしろ、どんなときもフォームメソッドやオブジェクトメソッドはCase文にすることを習慣にしていれば、そのような問題を回避することができます。
C_LONGINT($LFormEvent) $LFormEvent:=Form event Case of :($LFormEvent=On Load ) ` Do stuff while this object in its On Load cycle :($LFormEvent=On Unload ) ` do stuff while this object is in its On Unload cycle :($LFormEvent=On Clicked) ` do stuff when this object is clicked End case
ただ、上記のようなメソッドを記述したとしても、対応するイベントをプロパティリスト側で有効にする必要があることには変わらないので注意してください。