![]() |
Klassen wiederfinden
Hi,
also, wenn man eine Komponente hat. z.B. ein Label dann kann man das mit
Delphi-Quellcode:
createn.
with TLabel.Create(form1) do
begin parent:=form1; name:='L1'; end; So das kann man dann hübsch mit FindComponent und dem name wiederfinden und ansprechen. Wie bekommt man das ganz analog zu den Komonenten mit eigenen Klassen hin? Denn
Delphi-Quellcode:
hat kein name.
Ta=class
s:integer; end; Wie kann man das wiederfinden? Oder muss man das an Varablen ketten? |
Re: Klassen wiederfinden
Die VCL hat das auch an Variablen gekettet. Die Komponenten sind nämlich alle in Form1.Controls drin.
Eine Klasse ist ein Speicherbereich, und dieser Speicherbereich ist durch den Klassenzeiger (Anfang des Speicherbereichs) und die Klassendeklaration (Größe der Klasse und Adresse der Felder) hinreichend beschrieben. Du kannst natürlich jetzt sowas machen:
Delphi-Quellcode:
Aber wir sollten uns ja wohl einig sein, dass das Quatsch ist.
for i := 0 to Ende_des_adressbereiches do
if TObject(i) is TMyClass then if TMyClass(i).name = 'gesuchter_name' then showmessage('gefunden'); |
Re: Klassen wiederfinden
Üblicherweise speichert man die Objekte in Variablen.
Bei einer grösseren Menge von Objekten verwendet man TObjectList. Man kann im Constructor festlegen, ob alle Objekte in der ObjectList am Ende automatisch gefree'd werden sollen. Möchte man den Objekten einen Namen geben und diese in der Liste damit später wiederfinden, dann macht man sich eine Ableitung von TObjectList. |
Re: Klassen wiederfinden
@shmia: Riesen Dank. Wusste garnicht gas es so was gibt. Schaue ich mir sofort an.
edit: @shmia: :thumb: Genau so was habe ich gesucht. :-D Riesen Dank. Tschüss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 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