CX_DB_UTILITY::RepairFrame
Beschreibung:
Diese Funktion repariert die dynamischen Datenfelder eines Objekts. Mit dem zweiten Parameter wird der Reparaturmodus gesteuert:
Modus | Beschreibung |
---|---|
0 | versucht die korrupte Pointer auf Slots zu entfernen: sammelt alle "gesunden" Pointer, dann entfernt Pointer auf Slots aus dem Objekt und fügt einschließend die "gesunden" Pointer dem Objekt zu. Auf dem cx.frame-Logger wird unter TRACE geloggt, welche Korruption in welchem Slot erkannt wurde. |
1 | gibt alle Slots auf (wie CleanseFrame) |
2 | Bit "reference_based_slot" zurücksetzen (reference based slots gibt es nur in transienten Objekten) |
3 | Alle Slots entfernen und einen neues Array anlegen. |
Code-Beispiel:
Var(dbUtil)
GetManager(OBJECT) Call(GetDBUtility) -> dbUtil
// get object to repair.........................
object 0 dbUtil Call(RepairFrame)
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | INTEGER | Modus |
Top-1 | OBJECT | Objekt | |
Stack(Out) | Top | INTEGER | Anzahl der entfernten Objekte |
Funktionsaufruf: Call(RepairFrame)