Delphi-PRAXiS

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 Komponenten ohne Komponentenamen möglich ! Warum ? (https://www.delphipraxis.net/143565-komponenten-ohne-komponentenamen-moeglich-warum.html)

DataCool 18. Nov 2009 12:04


Komponenten ohne Komponentenamen möglich ! Warum ?
 
Hi Leute,

kann mich mal jemand aufklären seit wann und auch warum es in Delphi 2007(und wahrscheinlich auch alle Nachfolger)
möglich ist die Property ".name" = '' zu setzen ?

Außerdem warum besitzen z.B. TGroupButtons(TRadioButtons) einer TRadioGroup default einen leeren Komponentennamen ?

Ich versuche diese Komponenten über den Namen zu finden, was bei einem leeren Namen natürlich nicht funktioniert :roll:
Jemand dafür einen Lösungsansatz ?

Danke & Gruß

Data

himitsu 18. Nov 2009 12:12

Re: Komponenten ohne Komponentenamen möglich ! Warum ?
 
Warum?
Der Name ist ja nicht wichtig, wenn man die Komponenten z.B. dynamisch erstellt und dann direkt über ihr Objekt anspricht.

Drum gibt es bei der Prüfung des Namens diese Unterscheidung:
- ist Name = ''
- oder enthält Name nur gültige Zeichen und ist er noch nicht vergeben

PS: wenn es keinen Namen und/oder kein gleichnamiges published Feld in der Fensterklasse gibt, dann wird auch kein "Variable" der Komponente in der Fensterklasse angelegt ... würde also Speicher sparen :angel2:

Bernhard Geyer 18. Nov 2009 12:26

Re: Komponenten ohne Komponentenamen möglich ! Warum ?
 
Der Name ist nur für das DFM-Streaming relevant. Für alles dynamische nimmt man sinvoller eigene Verwaltungslisten ohne zu verwenden.

DataCool 18. Nov 2009 12:53

Re: Komponenten ohne Komponentenamen möglich ! Warum ?
 
Das Problem an der ganzen Geschichte ist,
das bei uns eine Komponente Properties von Komponenten aus einer XML-Datei liesst und diese dann bei den Komponenten setzt.
Innerhalb der XML Datei wird neben Form/Frame auch der Komponentenname als "Primary Key" verwendet,
so das es logischerweise Probleme gibt die Informationen zu speichern.
Genauso beim Auslesen der Informationen ist es ohne Name nicht möglich die entsprechende Komponente zu finden.
Gibt es den keine Property mehr die man als eindeutigen Key verwenden könnte ?

Greetz DAta

uligerhardt 18. Nov 2009 13:57

Re: Komponenten ohne Komponentenamen möglich ! Warum ?
 
Zitat:

Zitat von DataCool
Innerhalb der XML Datei wird neben Form/Frame auch der Komponentenname als "Primary Key" verwendet,
so das es logischerweise Probleme gibt die Informationen zu speichern.
Genauso beim Auslesen der Informationen ist es ohne Name nicht möglich die entsprechende Komponente zu finden.

Müssen denn wirklich die Properties der Subkomponenten gespeichert werden? Das sollte doch alles über die Properties der Parent-Kompo (TRadioGroup) erledigt werden. Genau deswegen haben die Dinger ja keinen Namen, weil sie beim DFM-Streaming auch vom Papa verwaltet werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.

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