ReadOnly
使用法
プロパティを ReadOnly と指定するには、以下の構文を使用します。
Property name As classname [ ReadOnly ];
そのように指定しない場合は、このキーワードを省略し、キーワードの直前に単語 Not を指定します。
コレクション・プロパティには ReadOnly キーワードを使用しないでください。
詳細
このキーワードは、オブジェクト参照を使用してそのプロパティの値を設定できないことを指定します。次のように、オブジェクト参照を使用して読み取り専用プロパティの値を設定しようとしたとします。
set oref.Name = "newvalue"
この場合は、実行時に <CANNOT SET THIS PROPERTY> エラーが発生します。
同様に、プロパティが読み取り専用に定義されている場合、対応する SQL テーブル内のフィールドも読み取り専用に定義されます。読み取り専用のフィールドを SQL 文を使用して明示的に挿入または更新することはできません。これを行おうとすると、SQL エラー (SQLCODE = -138) になります。
読み取り専用プロパティの値は、以下の方法で指定できます。
-
InitialExpression キーワードを使用する。
-
SQLComputeCode キーワードを使用する。
-
"Caché オブジェクトの使用法" の “プロパティ・メソッドの使用とオーバーライド” に説明されているプロパティ・メソッド内に指定する。
これらの各方法には特定の制約があることに注意してください。
メモ
プロパティが読み取り専用と必須の両方としてマークされている場合、オブジェクト・アクセスと SQL アクセスでは動作に次のような違いがあることに注意してください。
既定値
このキーワードを省略すると、プロパティは ReadOnly ではなくなります。
関連項目
-
このドキュメントの “プロパティ定義”
-
Caché オブジェクトの使用法 の “リテラル・プロパティの定義と使用”
-
Caché オブジェクトの使用法 の “コレクションを使用した作業”
-
Caché オブジェクトの使用法 の “ストリームを使用した作業”
-
Caché オブジェクトの使用法 の “オブジェクト値プロパティの定義と使用”
-
Caché オブジェクトの使用法 の “コンパイラ・キーワードの概要”