Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Sprachconstruct default-Property (https://www.delphipraxis.net/184410-sprachconstruct-default-property.html)

hanspeter 24. Mär 2015 09:30

Delphi-Version: XE7

Sprachconstruct default-Property
 
Hallo,
ich bin gerade von XE2 nach XE7 gewechselt.
In der VCL bin ich über einen Konstruct gestolpert, der mir so noch unbekannt ist.
In der Hilfe unter "Attribute" bin ich auch noch nicht so richtig fündig geworden.

Neue Schreibweise [default(True)]
Habe ich bisher property LoginPrompt; Default true;
geschrieben.
Die alte Schreibweise in vererbten Klassen aber wird ignoriert.
Vielleicht kann wer einen Tip geben..

Delphi-Quellcode:
 [default(true)]
  property LoginPrompt;
  [default(0)]
    property IdleTimer: Integer read GetIdleTimer write SetIdleTimer;
    [default(3)]
    property SQLDialect : Integer read GetSQLDialect write SetSQLDialect;

himitsu 24. Mär 2015 09:41

AW: Sprachconstruct default-Property
 
Delphi-Quellcode:
property LoginPrompt; default true;
oder
Delphi-Quellcode:
property LoginPrompt default true;
?

Ich hätte gedachte, daß Beides geht :shock:
und das Neue vorallem dafür da ist, um Problem mit Strings und Co. zu beheben.
Delphi-Quellcode:
property LoginPrompt: string read Detter write Setter default 'abc';



Wofür jetzt aber eigentlich ein Tipp?
Die Syntax ist ja so weit richtig benutzt.

Delphi-Quellcode:
[Default(...)]
property xxx {default ...};

[NoDefault]
property xxx {nodefault};

[Stored(...)]
property xxx {stored ...};

hanspeter 24. Mär 2015 09:49

AW: Sprachconstruct default-Property
 
Seit welcher Version gibt es die Schreibweise [default(true)] als Attribut und wo ist der Vorteil dieser Schreibweise?

himitsu 24. Mär 2015 09:55

AW: Sprachconstruct default-Property
 
Ich glaub direkt mit Einführung der erweiterten RTTI, mit sammt der Attribute, also in Delphi 2010.

hanspeter 24. Mär 2015 10:25

AW: Sprachconstruct default-Property
 
Zitat:

Zitat von himitsu (Beitrag 1294589)
Ich glaub direkt mit Einführung der erweiterten RTTI, mit sammt der Attribute, also in Delphi 2010.

Nein.
Auch in XE2 ist noch die alte/andere Schreibweise.

himitsu 24. Mär 2015 10:46

AW: Sprachconstruct default-Property
 
Die Alte Schreibweise gibt es eigentlich immernoch.

OK, in XE konnte ich DefaultAttribute nicht finden und in XE3 ist es schon enthalten ... scheint also doch erst in XE3 reingekommen zu sein.
Wie ich mir wünschte, Emba würde endlich mal meinen Featurerequest bearbeiten und in der OH die Minimumversion nennt, so wie man es z.B. auch vom MSDN kennt.

Aber ich hab noch nirgendwo gehört, daß nun nur noch das Neue gilt. Bin davon ausgegangen, daß das verwendet wird, was gefunden wird.
Nur was bei einem Konflikt passiert, hab ich nie nachgesehn, also wenn irgendwo Beides deklariert wurde.


Entweder ein Bug in der Vererbung oder im FormDesigner,
oder die haben das Verhalten wirklich still und heimlich geändert.
Kann heute Abend mal nachsehn, wie sich XE3 genau verhält.


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