メインコンテンツまでスキップ
バージョン: 20 R7 BETA

New shared object

New shared object {( property ; value {; property2 ; value2 ; ... ; propertyN ; valueN} )} : Object

引数説明
propertyText作成するプロパティ名
valueText, Date, Boolean, Pointer, Number, Objectプロパティの値
戻り値Object新しい共有オブジェクト

説明

New shared object コマンドは新しい空の、あるいは値が入れられた共有オブジェクトを作成し、その参照を返します。このオブジェクトにプロパティを追加、あるいはプロパティを編集する際には必ずUse...End use 構造でくくる必要があり、そうでない場合にはエラーが生成されます。ただし、属性の読み出しはUse...End use 構造の外側でも可能です。

注: 共有オブジェクトについてのより詳細な情報については、共有オブジェクトと共有コレクション のページを参照してください。

引数を何も渡さなかった場合、New shared object は空のオブジェクトを作成し、その参照を返します。この参照は必ずC_OBJECT コマンドで宣言された4D 変数に割り当てる必要があります。

注: C_OBJECT コマンドはObject 型の変数を宣言しますが、オブジェクトは作成しません。

オプションとして、引数として一つあるいは複数のproperty/value ペアを渡すことで、新しいオブジェクトを値の入った状態で作成することができます:

  • property 引数には、作成するプロパティのラベルを渡します(最大255文字)。property 引数は大文字と小文字を区別することに注意してください。
  • value 引数には、そのプロパティに対して設定したい値を渡します。共有オブジェクトには、以下の型の値しか格納することができません:
    • 数値(実数、倍長整数、等) 数値は常に実数として保存されます。
    • テキスト
    • ブール
    • 日付
    • 時間 (ミリ秒の数(実数)として保存されます)
    • null
    • 共有オブジェクト(*)
    • 共有コレクション(*)
      注: 標準オブジェクト(非共有オブジェクト)とは異なり、共有オブジェクトはピクチャー、ポインター、および共有でないオブジェクトおよびコレクションはサポートしていません。

(*)共有オブジェクトが共有オブジェクトに追加された場合、それらは同じロック識別子を共有します。この点についてのより詳細な情報については、ロック識別子 の章を参照してください。

例題 1

値が既に格納されている新しい共有オブジェクトを作成したい場合を考えます:

 var $contact : Object
 $contact:=New shared object("name";"Smith";"firstname";"John")

例題 2

共有オブジェクトを作成し編集したい場合を考えます。このオブジェクトに対しては、必ず 構造を呼ぶ必要があります:

 var $s_obj : Object
 $s_obj:=New shared object("prop1";"alpha")
 Use($s_obj)
    $s_obj.prop1:="omega"
 End use

参照

New object
New shared collection
共有オブジェクトと共有コレクション