Zitat von
Jelly:
Zitat von
Khabarakh:
Warum nicht einfach ein Array/eine Liste nehmen?
Hab ich ja auch vorgeschlagen... Aber was für Vorteile bringt das? Man findet die Labels ja auch ohne Array wieder.
Direkter Zugriff ohne Herumsuchen. Components ist auch eine Liste, warum also seine Controls in eine große Liste werfen und nachher mit linearer Zeit darin suchen, wenn man sie übersichtlich in einer eigenen verwalten kann? Überhaupt ist die Name-Property eigentlich nur für die Namenseinstellung des Feldes zur Designzeit gedacht, in Laufzeitcode gehört sie
IMHO überhaupt nicht hinein (wozu einen String benutzen, durch den man einen Pointer sucht, wenn man den Pointer direkt in der Hand hat?).
Zitat:
So musst Du noch dein Array verwalten und neu anpassen, wenn mal ein Label wieder entfernt wird usw. Du musst immer das Array/Liste synchron halten mit den reell erstellten Labels. Das verschafft Redundanz und ist immer mit Vorsicht zu geniessen.
Eigentlich nicht, das macht die
VCL schon selbst gut genug.
Beim Erstellen und Einfügen der Komponente in meine Liste wird sie direkt Components hinzugefügt. Beim Löschen aus meiner Liste wird sie über den Destruktor auch wieder automatisch aus Components entfernt. Ich arbeite nur mit der Liste, der TForm-Part wird synchron gehalten.