EGL での参照の互換性

参照の互換性規則は、次のセクションで説明するように参照変数および非参照変数に適用されます。

参照変数の場合

参照変数に関して、以下の文が適用されます。
  • 代入文では、参照変数は、同じパーツに基づいた参照変数にのみ割り当てることができます。
  • 関数呼び出しでは、参照変数は、同じパーツに基づいたパラメーターにのみ引き渡すことができます。
  • 関数から参照変数を戻すことができますが、戻りフィールド (他の関数呼び出しの値であることがあります) は同じパーツに基づいていなければなりません。

EGL パッケージで定義されたパーツは、たとえパーツの名前が同一であっても他のパッケージで定義されたパーツと同じではありません。

参照変数の概要については、『EGL の参照変数および NIL』を参照してください。

非参照変数の場合

参照の互換性規則のセットは、以下の状態のときに限り、EGL が非参照値を引数と関連するパラメーターとの間で転送するときに有効になりますが。
  • 受信関数中のパラメーターに修飾子 INOUT が含まれている。または、
  • パラメーターが PageHandler の onPageLoad 関数中にある。

固定レコードまたは構造体フィールドに関連して、引数の長さはパラメーターの長さ以上である必要があります。 この規則は、有効ではない受信コードがメモリーにアクセスするのを防ぎます。

引数がプリミティブ型または DataItems の配列を参照している場合、次の事項が適用されます。
  • 基本特性 (もしあれば) は、同一である必要があります。例えば、型 CHAR(6) の引数は型 CHAR(7) のパラメーターと互換性がありません。ただし、リテラルを渡すときは、EGL は『EGL における代入の互換性』で説明されているように、切り捨ておよび埋め込みを行ないます。
  • NULL 可能な引数は、NULL 可能または NULL 可能でないパラメーターと互換性があります。 NULL 可能でない引数は、NULL 可能でないパラメーターとだけ、互換性があります。

関連概念
PageHandler

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.