CX_SYSTEM_OBJECT::GetConflictingPersEntries
Beschreibung:
Diese Funktion untersucht alle persistenten Dictionary-Einträge auf Widerspruchsfreiheit.
Code-Beispiel:
Window(win,
. . .)
{
ObjectList(badSlots,
AUTO_POSITION,
. . .)
[ INITIALIZE:
[ "CX_VESSEL::Name()"
COLOR
BLUE
] SetFormat
[ "CX_VESSEL::InfoTextMA()"
COLOR
BLUE
] SetFormat
[ "CX_VESSEL::Type()"
COLOR
BLUE
] SetFormat
[ "CX_VESSEL::RefType()"
] SetFormat
[ "CX_VESSEL::comment"
COLOR
LIGHTRED
] SetFormat
// error information
[ "CX_VESSEL::IsPersistentDictEntry()"
] SetFormat
BeginTXN
SystemObject
Call(GetConflictingPersEntries)
FillObox
]
Mit dem Aufruf der Funktion erhält man alle persistente Dictionary-Einträge
(für Slots, Specifier ...) die im Widerspruch zum aktuellen System-Dictionary stehen als CX_VESSEL-Objekte "verpackt". Im dynamischen Datenfeld comment ist die genaue
Beschreibung des Fehlers zu finden, wobei es folgende Möglichkeiten gibt:Fehler | Bedeutung |
---|---|
413 | Nummer für Slot, Specifier oder Member mehrfach vergeben |
30 | Gleicher Name mehrfach vergeben (für unterschiedliche Einträge im System-Dictionary) |
834 | Widerspruch zwischen Slot-Definition aus .ini-File und Datenbank.
Widerspruch kann sein: Slot - Specifier, unterschiedlicher Datentyp, oder bei gleichem Datentyp (Relation) ist der Referenztyp verschieden |
Diese Funktion ist dann nützlich, wenn
- das ClassiX®-System ohne SystemDB-Direktive
gestartet wurde, d.h. persistente Dictionary-Einträge sind nicht aktiv, aber
- trotzdem existieren persistente Dictionary-Einträge in der Datenbank und werden editiert.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | ||
Stack(Out) | Top | VECTOR<CX_VESSEL> |
Funktionsaufruf: Call(GetConflictingPersEntries)