CX_OBJECT_MANAGER::CollectObjects3
Beschreibung:
Diese Klassenfunktion fasst alle Objekte der mit dem ersten Parameter
angegeben Klasse in einer Collection zusammen.... weitere Hinweise und Unterschiede
Code-Beispiel:
Define
(Beispiel_fuer_CollectObjects3)
Var(CO3_NORMAL, CO3_RESET,
CO3_REPEAT, nMode)
0 ->
CO3_NORMAL
1 ->
CO3_RESET
2 ->
CO3_REPEAT
// Modus für
den ersten Aufruf muss CO3_RESET sein
CO3_RESET -> nMode
do {
// hier wird der
CollectObjects3 gestartet OHNE Inheritance
// das Ergebnis ist eine Collection mit maximal
5000 Objekten
nMode 5000
CX_ATTRIBUTE_SET FALSE GetManager(OBJECT)
Call(CollectObject3)
// Modus für folgende Aufrufe auf CO3_NORMAL setzen
CO3_NORMAL
-> nMode
// Test, ob das Durchsuchen
beendet ist...
Dup if Cardinality
0 = if
{ Drop
break }
// Bearbeiten der Ergebnis
Collection
iterate
{
// hier wird
etwas mit den gesammelten Objekten getan.
// z.B. ein Reorg, Retype, oder ähnliches
}
} loop
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_OBJECT_MANAGER | |
Top-1 | INTEGER | inheritance | |
Top-2 | INTEGER | classID | |
Top-3 | INTEGER | maxElements | |
Top-4 | INTEGER | mode | |
Stack(Out) | Top | COLLECTION |
Funktionsaufruf: Call(CollectObjects3)
CollectInSegment löst das gleiche Problem besser