Lade...
 

CX_META_CLASS

CX_META_CLASS

Klassenhierarchie
Beschreibung:

Die Objekte dieser Klasse beschreiben die Klassen in InstantView. Sie werden vom Objekt-Manager verwaltet. Ist eine Metaklasse nicht beim Objekt-Manager registriert, so können über den Bezeichner dieser Klasse keine Objekte angelegt werden, weil dem Bezeichner keine Klassen-ID zugeordnet werden kann.

Um das CX_META_CLASS-Objekt zu einer Klasse zu erhalten, benutzt man die Methode CX_OBJECT_MANAGER::GetMetaClass.

Um eine neues Objekte von CX_META_CLASS zu erzeugen, ist CX_OBJECT_MANAGER::NewMetaClass und nicht CreateTransObject zu verwenden. Ein ausführliches Beispiel zur Definition einer Metaklasse zur Laufzeit findet sich hier. Da Pseudoklassen über ihre Superklassen instanziiert werden, muss diese im DDI-Feld "superClass" gesetzt sein, damit eine Pseudoklasse instanziiert werden kann.

230331 lassen sich neue Klassen/Storages und Files einfacher per CX_OBJECT_MANAGER::ParseMetaInfoAdditive zur Laufzeit definieren.

Code-Beispiel:
CX_PATNER_CAST GetManager(OBJECT) Call(GetMetaClass) Call(IsPseudoClass)

 

Methodenverzeichnis (MDI)
Funktion MA* Parameter Rückgabe Kurzbeschreibung
Derived    
COLLECTION<CX_META_CLASS>
Direkt abgeleitete Klassen
DerivedN   INTEGER
COLLECTION<CX_META_CLASS>
Abgeleitete Klassen bis zur n. Stufe
Destroy       Metaklasse entfernen
DisplayHelp       Hilfe zur Klasse anzeigen
GetDDI
233480
    VECTOR<CX_VESSEL> Liefert das DDI der Klasse
GetHelpURL
233506
    STRING Hilfe-URL ausgeben
GetMDI
233480
    VECTOR<CX_VESSEL> Liefert das MDI der Klasse
Integrate       Klasse im Objektmanager anmelden
IsCreatable
212620
    INTEGER TRUE falls Objekte der Klasse per CreateTransObject angelegt werden können.
IsPseudoClass     INTEGER (TRUE / FALSE) Wird eine Pseudoklasse beschrieben?
SetPersistenceInfo   INTEGER, CXS_SEGMENT,
VECTOR<CXS_REP_COLLECTION>
, CXS_REP_COLLECTION
STRING Speicherort für persistente Objekte der Klasse setzen
StorageInfo     STRING Info über Speicherung der Instanzen

* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
docu SHORT     Infothekseite, welche bei DisplayHelp geöffnet wird
internalName STRING     Klassenbezeichner (z. B. CX_PERSON)
realWorldClassID SHORT     Die Klassen-ID, welche dem Klassenbezeichner zugeordnet wird.
superClass POINTER CX_META_CLASS   Die Superklasse.
persistence POINTER CX_META_FILE   Die Persistenzdefinition (Meta-File) dieser Klasse

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung
defclass.mod Pseudoklassen Editiermodul