Lade...
 

DeleteObject

DeleteObject

DeleteObject, DeleteObject(pattern)

Stack
Stack   Beschreibung
Stack(In)   persistentes/transientes Objekt
Stack(Out)   -

Das Objekt wird

  • mit einem Bit als logisch gelöscht markiert
  • aus allen bekannten Root-EP-Collections entfernt
  • in die Garbage-Collection seiner Klasse eingefügt.

Die Operation ist zu CreatePersObject / CreateTransObject(,KEEP) invers, d.h. aus den Collections, in die es durch CreatePersObject eingetragen wurde, wird es durch DeleteObject entfernt. Um zu vermeiden, dass viele Collections umsonst durchsucht werden, richtet sich auch DeleteObject nach den mit SetLayer, SetDomain(WRITE) und SetPattern getroffenen Einstellungen.
Den Zusammenhang zwischen Layer, Domain und Bitpattern für Inheritance zeigt folgendes Beispiel sowie folgendes Code-Beispiel.

Ein gelöschtes, persistentes Objekt kann mit UndeleteObject wieder reaktiviert werden.

Transiente Objekte, die per DeleteObject gelöscht wurden, dürfen nicht mehr angefasst werden. Ein Zugriff auf ein gelöschtes, transientes Objekt führt zu einem Absturz des Prozesses. Das Objekt kann auch per CX_GARBAGE_MANAGER։։Register an der Garbage-Collection angemeldet werden, damit die Garbage-Collection das Objekt automatisch löscht, sobald es nicht mehr referenziert wird.

Ein Objekt kann mittels der Funktion CX_SIMPLE::Deleted() abgefragt werden, ob es (logisch) gelöscht ist oder nicht.

InstantView Scriptsprache