パーシモンシステム
LLL/Ajax

FAQ

   LLL/win (トリプルエル/ウィン) に関するFAQです。

技術的な質問

プログラムについて
戻る


Q-0037.フォームオウンとは何ですか?

フォームオウンとは、簡単に説明するとフォームのイベントコーディングを拡張するために各ユーザーが独自に付け加えるコーディング(オウンコーディング)のことです。


通常VBでプログラムを作成する場合、イベントコーディングについては各コントロールのイベントプロシージャ(TEXT1_Gotfocusなど)に記述するのが一般的かと思われます。しかし、そのように記述してしまうと動作の整合性や後々の可読性の低下を招く結果に陥りがちになります。


そのため、LLL/winでは

  • Enterキーによるフォーカス移動
  • ユーザー定義による文字列・数値のフォーマット編集
  • 入力文字数・入力文字種のチェック

といった機能を、フォーム制御モジュール内で一括して処理することで、イベントプロシージャの記述を簡略化するようにしています。ただし、全コントロールイベントを一元的に管理するため、仕様に沿った特殊な動作(特定のフィールドをLostfocusしたときに画面上のデータを再計算する、ボタンをクリックしたときに別プログラムを起動するなど)を実現するのが困難になります。


その問題を解消するために、LLL/winではフォームオウンを記述するためのプロシージャをメインモジュール内に自動生成します。フォーム上で発生したイベントに対してフォーム制御モジュールで一般処理を行った後、メインモジュール内の該当するプロシージャに処理を移し、そこにユーザーが記述したフォームオウンを処理します。


これによって、全体的な整合性を保ちつつ、仕様に沿った特殊な動きもサポートするといったことが可能になります。

記述の方法としては、fnoに応じて条件分岐させ、分岐内で各コントロールごとの動作を記述する形式になります。




戻る





著作権について パーシモンシステムトップへ