Lade...
 

RetypeObject

RetypeObject

RetypeObject(CX_xxxxx)

Parameter: Bezeichner einer Klasse

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
Stack(Out) Top -

 

RetypeObject(STACK)

Stack
Stack Position Beschreibung
Stack(In) Top ein Objekt
  Top-1 Bezeichner einer Klasse
Stack(Out) Top -

Das Objekt vom Stack ändert seine Pseudoklasse. Das bedeutet, dass

  1. es aus den RootEP-Collections, die seiner bisherigen Klasse entsprechen, entfernt wird
  2. es in die RootEP-Collections entsprechend seiner neuen Klasse gestellt wird
  3. die Identifikationsnummer der Klasse im Objekt geändert wird.

Achtung!
Dieser Anweisung bezieht sich auf Pseudoklassen. D.h. man kann ein Objekt einer anderen Pseudoklasse oder auch der realen Basisklasse seiner bisherigen Pseudoklasse zuordnen. Retype kann jedoch nicht die reale (C++-)Klasse eines Objekts ändern.

Ein Objekt wird im persistenten Speicher erzeugt und gegebenenfalls in RootEP-Collections gestellt. Dabei wird der Default-Konstruktor der Klasse aufgerufen. Die mit SetLayer, SetDomain(WRITE) und SetPattern getroffenen Einstellungen bestimmen, in welchem Segment das Objekt gespeichert und in welche Collections es aufgenommen wird. Mit dem zweiten Parameter - pattern - kann die in CLASSIX.INI bzw. SetPattern getroffenen Einstellung für diesen Befehlsaufruf übersteuert werden.

Zusammenhang zwischen Layer, Domain und Bitpattern für Inheritance ist hier dargestellt.

In diesem Beispiel wird ein Objekt der Pseudoklasse CX_BRANCH in ein Objekt der Klasse CX_CORPORATION umgewandelt. Dies ist möglich, da CX_BRANCH eine von CX_CORPORATION abgeleitete Pseudoklasse ist:

branchObject RetypeObject(CX_CORPORATION)