Visual LANSA フレームワーク ガイド > チュートリアル > VLF-WIN アプリケーションのチュートリアル > VLF006WIN - 実際の Windows フィルターのスナップイン > ステップ 3. フィルターのコード
ステップ 3. フィルターのコード

ほとんどのフィルターは [コード ウィザード] を使用して簡単に作成することができますが、フィルターがどのようにコーディングされているかを理解している必要があります。

1.   iiiCOM01 コンポーネントが開いている Visual LANSA エディターに切り替えます。

2.   生成されたソース・コードを [ソース] タブで検証し、フィルターがコード化され、データがインスタンスリストに追加される方法を確認します。 

これから更新されることがフレームワークに通知されます。

Invoke #avListManager.BeginListUpdate

 

次に、リストの既存のアイテムがクリアされます。

Invoke #avListManager.ClearList

次に、データが選択されます。Visual LANSA チュートリアル基本編で学習したテクニックの 1 つを使用して、これを実行できます。例えば、次のようになります。l

Select Fields(#XG_Ident) From_File(xEmployeeBySurname) With_Key(#XG_Keys) Nbr_Keys(*Compute) Generic(*yes)

 

次に、ビジュアル識別子が設定されます。

#UF_VISID1u := #xEmployeeIdentification

#UF_VISID2u := #xEmployeeSurname

 

次に、データがリストに追加されます。

#avListManager.AddtoList Visualid1(#UF_VISID1u) Visualid2(#UF_VISID2u) Akey1(#xEmployeeIdentification) Acolumn1(#xEmployeeGivenNames)

VisualId1 はインスタンス リストの列 1 に、VisualId2 は列 2 に表示されます。  Akey1 は社員を一意的に識別するキーです (この場合、フィールドは英数字なので、Nkey1 ではなく Akey1)。

 

最後に、インスタンスリストの更新が完了したことがフレームワークに通知されます。

Invoke #avListManager.EndListUpdate)

 

3.  次に、エディターの [詳細] タブをクリックし、コンポーネントのプロパティを表示します。

4.   コンポーネントの [Ancestor] プロパティが #VF_AC007 であることがわかります。すべてのフィルターは、一連の定義済みの動作を提供するこのベース・クラスから継承します。

5.   エディターの [アウトライン] タブを開き、Ancestor コンポーネント VF_AC007 からどのコンポーネントを継承しているか確認します。

6.   [avLISTMANAGER] コンポーネントを右クリックし、[機能] オプションを選択します。

 

7.   コンポーネントのメソッドを展開して検証します。

このメソッドの上にマウスを移動させると、この説明がヒントに表示されます。Visual LANSA のプロパティ/メソッド/イベントでは、ダブルクリックすると、そののオンライン・ヘルプが表示されますが、フレームワークのプロパティ/メソッド/イベントでは表示されないことに注意してください。

ヒントが表示できない場合、Visual LANSA エディターの [オプション] で [ヒントの表示] オプションにチェックマークを入れます。

8.   iiiCOM01 コンポーネントを閉じます。

これらのコンポーネントの構築方法については、「フィルターおよびコマンド・ハンドラーの構造」を参照してください。