CREATE OBJECT operand1 OF [CLASS ] operand2
|
|
[ON [NODE ] operand3]
|
|
[GIVING operand4]
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:DEFINE CLASS | INTERFACE | METHOD | PROPERTY | SEND METHOD
関連機能グループ:「コンポーネントベースプログラミング」
CREATE OBJECT
ステートメントは、クラスのインスタンスを作成します。
CREATE OBJECT
ステートメントを Windows 環境で実行すると、ステートメントに指定したクラスの名前が DCOM クラスとして登録されているかどうかが Natural でチェックされます。 登録されている場合は、DCOM を使用してオブジェクトを作成します。
登録されていない場合は、現在の Natural ライブラリまたは STEPLIB 内でその名前のクラスを検索し、オブジェクトをローカルに作成します。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | S | O | 不可 | 不可 | ||||||||||||||||
operand2 | C | S | A | 可 | 不可 | |||||||||||||||
operand3 | C | S | A | 可 | 不可 | |||||||||||||||
operand4 | S | N | I | 可 | 不可 |
構文要素の説明:
operand1 |
オブジェクトハンドル:
operand1 は、オブジェクトハンドル( |
---|---|
OF CLASSoperand2 |
クラス名:
operand2 は、作成するオブジェクトのクラスの名前です。 DCOM クラスとして登録されていないクラスについては、 CREATE OBJECT #O1 OF CLASS "Employee" or CREATE OBJECT #O1 OF CLASS "653BCFE0-84DA-11D0-BEB3-10005A66D231" |
ON NODE operand3 |
ノード:
operand3 には、オブジェクトが作成されるノードを指定します。 これは、クラスが DCOM クラスとして登録される場合にのみ可能です。 NODE 節を指定すると、そのノード上でオブジェクトの作成が試行されます。 NODE 節を指定しないか、または値が空白の場合、そのクラスのキー "RemoteServerName" の下にあるシステムレジストリで指定されているノード上に、オブジェクトが作成されます。 このレジストリキーが指定されていない場合、オブジェクトはローカルの Natural セッション内に作成されます。 次に例を示します。 CREATE OBJECT #O1 OF CLASS "Employee" ON NODE "volcano.iceland.com" |
GIVING operand4 |
GIVING 節:
GIVING 節を指定した場合、operand4 の値は、エラー発生時は Natural メッセージ番号、成功時はゼロのいずれかになります。 GIVING 節を指定しない場合は、エラー発生時に Natural ランタイムエラー処理がトリガされます。 |