Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponenten default-werte (https://www.delphipraxis.net/30163-komponenten-default-werte.html)

Pseudemys Nelsoni 21. Sep 2004 15:33


Komponenten default-werte
 
moin,

wie kann ich meinen prpertys default werte geben? also wenn ich sie auf meine form schiebe sollen einige felder schon gefüllt sein... z.b "Port" sollte schon "4551" sein.
mach ich das im create der kompo?

Dax 21. Sep 2004 15:36

Re: Komponenten default-werte
 
Eine andere Möglichkeit gibt es leider (nich) nicht.

Shaman 21. Sep 2004 15:40

Re: Komponenten default-werte
 
Sollte man eigentlich die Default-Werte immer zweimal angeben? Einmal im Konstruktor und einmal nach dem default-Speicherbezeichner bei property?

Dax 21. Sep 2004 15:44

Re: Komponenten default-werte
 
NEIN! Delphi-Referenz durchsuchendefault ist nur für Ordinale Werte gedacht, Arrays werden mit default deklariert, wenn sie in der Form
Delphi-Quellcode:
Component[x]
nutzbar sein sollen, aber auch dann kann nur ein Array als default deklariert werden.

Generell sollte man jedoch von der Benutzung der default-Direktive absehen, sie macht alles nur komplizierter. Die Initialisierungen im Konstruktor zu verankern erzeugt übrigens theoretisch den selben Code.

Shaman 21. Sep 2004 15:46

Re: Komponenten default-werte
 
Logisch, ich meine halt da wo es geht :wink:

Shaman 21. Sep 2004 15:50

Re: Komponenten default-werte
 
Ich glaube nicht, dass derselbe Code erzeugt wird. Bei Delphi7 siehst man es gut im OI. Werte, die vom Default-Wert abweichen werden hervorgehoben. Bei nodefault-Props sind sie das immer, also werden diese Eigenschaften wohl immer in der DFM gespeichert.

Robert Marquardt 21. Sep 2004 16:39

Re: Komponenten default-werte
 
Zitat:

Zitat von Dax
Generell sollte man jedoch von der Benutzung der default-Direktive absehen, sie macht alles nur komplizierter. Die Initialisierungen im Konstruktor zu verankern erzeugt übrigens theoretisch den selben Code.

Unsinn.

default hat zwei Bedeutungen. An einer indexed property bedeutet es das der Compiler den Namen verkuerzen kann.
Statt List.Items[I] also nur List[I].

Bei ordinalen Properties und einem Wert dahinter bedeutet es das der Eintrag fuer die Property im dfm File fehlen darf bzw nicht geschrieben wird, wenn die Property den Wert hat.
Im Konstruktor muss man die nun nicht erfolgende Zuweisung beim Lesen des dfm Files selbst ausgleichen indem man auf den Default-Wert initialisiert.


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