Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi label erstellen --> Name? (https://www.delphipraxis.net/60636-label-erstellen-name.html)

Khabarakh 10. Jan 2006 15:49

Re: label erstellen --> Name?
 
Zitat:

Zitat von Daniel Schuhmann
Ja sicher, das verweigert der compiler ja weil wegen gibts nicht. Gefällt mir aber so besser, als über den Tag drauf zuzugreifen.

IMHO sind beide Wege schrecklich :wink: . Warum nicht einfach ein Array/eine Liste nehmen?

Jelly 10. Jan 2006 15:52

Re: label erstellen --> Name?
 
Zitat:

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. 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.

Khabarakh 10. Jan 2006 16:07

Re: label erstellen --> Name?
 
Zitat:

Zitat von Jelly
Zitat:

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.

Jelly 10. Jan 2006 16:44

Re: label erstellen --> Name?
 
Zitat:

Zitat von Khabarakh
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.

So rum gesehen, ja. Das klappt. Du verwaltest über deine eigene Liste die Labels auf dem Form. Löschst Du einen Eintrag in deiner Liste, löschst Du den Label auch gleich mit von der Form.

Diesen Weg hatte ich nicht betrachtet. Gefällt mir gut. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:23 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