![]() |
Re: über Objekte einer Klasse iterieren
Zitat:
Wenn jemand mit meiner Kritik nicht umgehen kann, hat er mehrere Möglichkeiten:
Die Tatsache, dass diese nicht zum gewünschten Erfolg geführt hat, können wir lt. Aussage des Threaderstellers unter 'Kommunikationsschwierigkeiten' verbuchen. |
Re: über Objekte einer Klasse iterieren
Hallo zusammen,
alle haben sich wieder lieb ;-) (Alles Männer und doch versteht man sich nicht...) Wenn man keine eigenen Komponenten sucht (die man bei Erzeugen extra registrieren kann), geht´s z.B. auch so (das war sicher mit der Rekursion gemeint):
Delphi-Quellcode:
Stahli
procedure AlleXyzSuchen;
procedure AlleXyzSuchen_(Comp:TComponent); var I:Integer; Temp:TComponent; begin with Comp do begin for I:=0 to ComponentCount-1 do begin Temp:=Components[I]; if (Temp is TXyz) then begin (Temp as TXyz).MachWas; end else AlleXyzSuchen_(Temp); // wenn auch in TXyz selbst gesucht werden soll, else entfernen end; end; end; begin AlleXyzSuchen_(Application); end; |
Re: über Objekte einer Klasse iterieren
Zitat:
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz