Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#23

Re: über Objekte einer Klasse iterieren

  Alt 28. Sep 2007, 15:03
Zitat von Bomberbb:
Ja die Möglichkeit mit Components hab ich auch schon gesehen, da wird aber über die Komponenten auf einer Komponente iteriert.

Mein Problem ist, wenn die auf unterschiedlichen Komponenten sitzen, erwische ich nicht alle...

Ich habe eine Komponente von TCustomPanel abgeleitet und möchte nun über alle Objekte iterieren, die sich in meinem Programm befinden. Hatte schon überlegt, etwas ähliches wie einee verkettete Liste im Konstruktor zu erstellen, das bekomme ich aber auch nicht hin, da ich im Konstruktor keinen Zeiger auf mein Objekt bekomme...
Hallo,

dafür gibt es aber mehrere Lösungen:

a) ich rufe für jedes neue Objekt Create auf mit den Parametern Root und Parent - Root ist das Ausgangsobjekt (eines Baumes, hier könnte man auch Klassenvariable einsetzen), Parent eben das Vorgängerobjekt, deren Adressen werden im Objekt gespeichert. Dann rufe ich StartNewObject auf mit dem Ergebnis (also dem neuen Objekt) als Parameter, dort wird u.a. der Pointer Parent.Next gesetzt auf das neue Objekt.

b) man verkettet rückwärts - die Adresse von Parent ist ja bekannt und kann als self.Previous gespeichert werden.

Gruss Reinhard
  Mit Zitat antworten Zitat