Show TOC Anfang des Inhaltsbereichs

Vorgehensweisen Erzeugen von Objekten  Dokument im Navigationsbaum lokalisieren

Um ein Objekt in einer Gebietsinstanzversion des Shared Memory zu erzeugen, verwendet man den Zusatz

... AREA HANDLE handle

der Anweisungen

CREATE OBJECT oref

CREATE DATA dref (seit Release 7.0)

Dabei muss handle eine Objektreferenzvariable sein, die auf ein Gebietshandle zeigt, welches mit einer Änderungssperre an eine im Aufbau befindliche Gebietsinstanzversion angebunden ist. Das erzeugte Objekt wird in dieser Gebietsinstanzversion abgelegt und oref bzw. dref verweisen auf das Objekt. Bei der Erzeugung der Instanz einer Klasse muss diese Shared-Memory-fähig sein.

Vor dem Abschluss des Aufbaus der Gebietsinstanzversion mit der Methode DETACH_COMMIT muss mit der Methode SET_ROOT des Gebietshandles das Wurzelobjekt festgelegt werden. Wenn der Aufbau der Gebietsinstanzversion mit der Methode DETACH_COMMIT abgeschlossen wird, dürfen keine Referenzen aus der Gebietsinstanzversion nach außen zeigen.

Beim Anlegen von Objekten kann es zu folgenden behandelbaren Ausnahmen kommen:

     CX_SHM_WRONG_HANDLE

Das Gebietshandle hält keine Änderungssperre

     CX_SHM_ALREADY_DETACHED

Das Gebietshandle ist nicht an eine Gebietsinstanzversion angebunden

     CX_SHM_OUT_OF_MEMORY

Es ist nicht genügend Speicher vorhanden (diese Ausnahme kann auch beim Arbeiten mit Shared Objects auftreten).

     CX_SHM_OBJECT_NOT_SERIALIZABLE

In einer mit Sicherung und Wiederherstellung verdrängbaren Gebietsinstanz wird versucht ein nicht serialisierbares Objekt anzulegen.

Nach dem Anlegen von anonymen Datenobjekten kann es zur Ausnahme CX_SHM_EXTERNAL_TYPE kommen, wenn ein dynamisch erzeugter Datentyp verwendet wurde.

 

 

Ende des Inhaltsbereichs