Page History
...
.NETコンポーネントを一度作成すると、他のVisual LANSAコンポーネントと同じように使用できます。コンポーネントのインスタンスを作成でき、そのプロパティ、メソッド、およびイベントを使用できます。コンポーネントの中には、非常に簡単で、それらの使用にプログラミングをほとんど必要としないものもあれば、複雑な機能を提供するため、標準のVisual LANSAのコントロールを使用する場合よりもはるかに多くのコーディングを必要とするものもあります。
コンポーネントのインスタンスの定義
DEFINE_COMコマンドを使用します。クラスにコンストラクタがないか、コンストラクタがあってもパラメータがない場合、インスタンスを動的または静的のいずれかとして定義できます。そうでない場合、インスタンスは動的として設定しなければなりません。
...
Define_Com Class(#DOTNET1.DotNetControls.WebBrowserX) Name(#Browser) Displayposition(4) Parent(#COM_OWNER) Tabposition(4)
動的インスタンスのインスタンス化
コンポーネントのインスタンスを動的として定義した場合、*NewまたはSET_REFコマンドを使用して、インスタンスをインスタンス化する必要があります。いずれのコマンドでも、開発者がコンストラクタを指定できます。
静的メソッドを持つクラスを定義する方法
クラスで静的メソッドを使用するには、コンポーネント・インスタンスを定義する必要があります。インスタンスは静的または動的として定義できます。一度定義すると、クラスの静的メソッドはいつでも呼び出せます。動的コンポーネント・インスタンスが定義されている場合、静的メソッドは、インスタンスをインスタンス化せずに呼び出すことができます。これにより、静的クラスを使用できるだけではなく、privateまたはprotectedコンストラクタを使用してクラスをインスタンス化できるようにします(クラスに、自分自身をインスタンス化する静的メソッドがあることが前提です)。
*NEW
クラスにコンストラクタがないか、コンストラクタがあってもパラメータがない場合、コンストラクタを指定しないか、パラメータのないコンストラクタを指定できます。それ以外の場合、パラメータはメソッド呼び出しと同じように渡す必要があります。
| Panel | ||
|---|---|---|
| ||
|
SET_REF
詳細については、『LANSAテクニカル リファレンスガイド』の「SET_REF」を参照してください。
例
C#
public ConstructorTests() {…}
...
Set_Ref Com(#LCom01) To(*CREATE_AS #DOTNET1. TestClasses.ConstructorTests.ConstructorTests#2) Anumber(#LNum0501) Adatetime(#LDTi0501) Astring(#LStr0501)
プロパティと変数の使い方
構文
| Panel | ||
|---|---|---|
| ||
|
例
C#
public int Counter
{
get { return mCount; }
...
Begin_Loop Using(#STD_INT) To(#NumericClass.Counter) Step(2)
…
End_Loop
メソッドの呼び出し
構文
| Panel | ||
|---|---|---|
| ||
|
例
C#
public void
IncrementDateByDays(
...
If (#LNum02 = (#LNum01 * 2))
…
Endif
イベント処理
イベント処理関数は、EVTROUTINEコマンドを使用して定義します。このコマンドの詳細については、『LANSA テクニカル リファレンスガイド』の「EVTROUTINE」を参照してください。コマンドの基本的な構文は以下のようになります。
| Panel | ||
|---|---|---|
| ||
|
例
C#
public class EventArgs1
...