Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mehrere Steuerelemente gleichzeitig ansprechen ... (https://www.delphipraxis.net/124671-mehrere-steuerelemente-gleichzeitig-ansprechen.html)

Hawkeye219 23. Nov 2008 12:09

Re: Mehrere Steuerelemente gleichzeitig ansprechen ...
 
Hallo,

Zitat:

Zitat von DeddyH
Wenn er Objekte ablegen will, wieso soll er keine TObjectList nehmen?

...weil die Objektliste bei ihrer Freigabe die Shapes zerstört und sie damit vom Formular entfernt?

Gruß Hawkeye

SirTwist 23. Nov 2008 12:33

Re: Mehrere Steuerelemente gleichzeitig ansprechen ...
 
Zitat:

Zitat von DeddyH
Wenn er Objekte ablegen will, wieso soll er keine TObjectList nehmen?

Meines Wissens(!) nach ist der Unterschied zwischen TList und TObjectList, dass TObjectList der Eigentümer der Objekte sein kann und deshalb bei einem Entfernen aus der Liste (Remove, Delete) oder dem Freigeben der ganzen Liste auch die Objekte freigegeben werden. Dagegen muss man sich bei der TList selber um die Speicherverwaltung der Objekte kümmern.

Da die Objekte hier aber schon zum Formular gehören und von diesem auch speichertechnisch verwaltet werden, ist aus meiner Sicht eine TList ausreichend, oder? Ich lasse mich gerne korrigieren...

Gruß,
SirTwist

Andreas L. 23. Nov 2008 13:45

Re: Mehrere Steuerelemente gleichzeitig ansprechen ...
 
Zitat:

Zitat von SirTwist
Zitat:

Zitat von DeddyH
Wenn er Objekte ablegen will, wieso soll er keine TObjectList nehmen?

Meines Wissens(!) nach ist der Unterschied zwischen TList und TObjectList, dass TObjectList der Eigentümer der Objekte sein kann und deshalb bei einem Entfernen aus der Liste (Remove, Delete) oder dem Freigeben der ganzen Liste auch die Objekte freigegeben werden. Dagegen muss man sich bei der TList selber um die Speicherverwaltung der Objekte kümmern.

Da die Objekte hier aber schon zum Formular gehören und von diesem auch speichertechnisch verwaltet werden, ist aus meiner Sicht eine TList ausreichend, oder? Ich lasse mich gerne korrigieren...

Gruß,
SirTwist

TObjectList.Create kann den Parameter OwnObjects:Boolean haben. Einfach False übergeben und die ObjectList kümmert sich nicht mehr ums freigeben der Objekte.

Hawkeye219 23. Nov 2008 15:04

Re: Mehrere Steuerelemente gleichzeitig ansprechen ...
 
Hallo,
Zitat:

Zitat von Andreas L.
TObjectList.Create kann den Parameter OwnObjects:Boolean haben. Einfach False übergeben und die ObjectList kümmert sich nicht mehr ums freigeben der Objekte.

Und welchen Vorteil bietet die Objektliste dann hier noch? Ich denke, im geschilderten Fall genügt die Verwendung eines statischen Arrays. Dies erspart sogar den ansonsten notwendigen Typecast beim Zugriff auf die Listenelemente.

Gruß Hawkeye

DeddyH 23. Nov 2008 15:06

Re: Mehrere Steuerelemente gleichzeitig ansprechen ...
 
Richtig, es hat ja auch niemand behauptet, dass es dynamisch sein muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz