Lade...
 

CX_SYSTEM_OBJECT::GetConflictingPersEntries

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
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top    
Stack(Out) Top VECTOR<CX_VESSEL>  

Funktionsaufruf: Call(GetConflictingPersEntries)