![]() |
Instanzen vom gleichen Typ finden
Hallo
wie kann ich in einer Instanz alle anderen Instanzen vom gleichen Typ finden? Mein Versuch haut leider nicht hin.
Delphi-Quellcode:
Über Components kann ich dann auch auf die Eigenschaften der anderen Instanzen zugreifen, oder seh ich das falsch?
const
NumberOfBirds=20; type TBirds = class(TGraphicControl) private protected procedure Paint; override; procedure Find; public end; procedure TBird.Find; var i: Integer; begin for i:=0 to Parent.ComponentCount do if Parent.Components[i]=TBird then //Funktioniert leider nicht begin //Hier kommt noch was end; end; //Im Hauptformular procedure TFrmEBirds.FormCreate(Sender: TObject); var i,x,y: Integer; begin Randomize; for i := 0 to NumberOfBirds do begin Birds[i]:=TBird.Create(self); Birds[i].Parent:=self; x:=Random(self.Width); y:=Random(self.Height); Birds[i].Left:=x; Birds[i].Top:=y; end; end; Guido |
Re: Instanzen vom gleichen Typ finden
So evtl? ;)
Delphi-Quellcode:
Und zugreifen mit:
if (Parent.Components[i] is TBird) then
Delphi-Quellcode:
oder du legst dir einen temporären Bird an *g*
with (Parent.Components[i] as TBird) do
begin // mache was mit den Eigenschaften end;
Delphi-Quellcode:
var
tmp: TBird; {...} tmp := (Parent.Components[i] as TBird); tmp.SomeProperty := irgendwas; tmp.SomeMethod(SomeArgument); |
Re: Instanzen vom gleichen Typ finden
:wall:
|
Re: Instanzen vom gleichen Typ finden
anstelle des Parents solltest du lieber den Owner abfragen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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