LOTUSSCRIPT 言語
プロシージャ (関数、サブルーチン、またはプロパティ) への前方参照を宣言して、まだ定義されていないプロシージャを呼び出せるようにします。
構文
Declare [ Static ] [ Public | Private ] procType procName [ ( [ argList ] ) ] [ As returnType ]
要素
Static
このキーワードがある場合、キーワードはプロシージャの定義でも指定されていなければなりません。
Private は、宣言されたプロシージャがこのモジュール内でしか利用できないことを示します。このキーワードがある場合、キーワードはプロシージャの定義でも指定されていなければなりません。
Function Sub Property Get Property Set
各引数の宣言の構文は次のとおりです。
[ ByVal ] argument [ ( ) | List ] [ As type ]
argument() は配列変数です。argument List は、argument をリスト変数として識別します。それ以外の場合、argument には LotusScript でサポートされるどの型の変数でも指定できます。
As dataType は変数のデータ型を指定します。この節を省略し、データ型の接尾辞を使用して、変数をスカラーデータ型の 1 つとして宣言できます。この節を省略し、argument の終わりにデータ型の接尾辞を追加しない場合 (また、存在する Deftype ステートメントで処理されない場合)、そのデータ型は Variant 型になります。
As returnType を省略すると、戻り値の型は procName (関数名) に追加されたデータ型の接尾辞によって決まります。returnType とデータ型の接尾辞は、一方しか指定できません。
As returnType を省略し、procName にデータ型の接尾辞を追加しない場合、Variant 型の値、または Deftype ステートメントで指定されたデータ型の値が返されます。
IDE はプロシージャの前方宣言を暗黙的に生成します。前方宣言を IDE に直接入力する必要はなく、入力すると構文エラーになります。プロシージャの前方宣言を含むファイルを、%Include を指定して別ファイルに組み込めます。クラスのプロパティとメソッドの前方宣言は、IDE に直接入力できます。
Public キーワードは、クラスのメンバを宣言するときを除いて、アプリケーションオブジェクトのスクリプトに直接記述したり、アプリケーションオブジェクトスクリプトの %Include ファイル内で使用することはできません。Public 宣言は (Globals) で使用してください。
前方宣言は、モジュール単位またはクラス内でのみ行えます。
プロシージャがあるときは、前方宣言と同じスコープ内で定義しなければなりません。プロシージャに前方宣言があっても定義されていない場合は、エラーになりません。宣言されていても定義されていないプロシージャを呼び出そうとするとエラーとなります。
クラス定義の中で宣言されたプロシージャは、Static として宣言できません。
Property Get 前方宣言で使用する Static、Public、Private キーワードは、それに対応する Property Set 前方宣言で使用されていれば、それと一致していなければなりません。
例 関連項目