Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Property - nur default überschreiben? (https://www.delphipraxis.net/191555-property-nur-default-ueberschreiben.html)

Rabenrecht 27. Jan 2017 10:44

Delphi-Version: 5

Property - nur default überschreiben?
 
Ich möchte für eine Property einen Default-Wert setzen. Die Property stammt aus einer Vorfahr-Klasse. Leider stehen mir weder das Attribut, noch die Getter/Setter zur Verfügung (weil private).

Delphi-Quellcode:
property myProp :TpropType Default value;
ist aber wohl keine gültige Delphi-Syntax.

Was kann man da machen?

DeddyH 27. Jan 2017 10:47

AW: Property - nur default überschreiben?
 
http://docwiki.embarcadero.com/RADSt...aften_(Delphi)
Zitat:

Mithilfe des Bezeichners nodefault kann ein geerbter default-Wert ohne Angabe eines neues Wertes außer Kraft gesetzt werden. Die Direktiven default und nodefault werden nur für Ordinal- und Mengentypen unterstützt, bei denen die Ober- und Untergrenze des Basistyps einen Ordinalwert zwischen 0 und 31 hat.

Rabenrecht 27. Jan 2017 11:08

AW: Property - nur default überschreiben?
 
Hm, das ist zwar informativ, beantwortet meine Frage jedoch nicht.
Ich möchte den Default nicht wegnehmen sondern durch einen neuen Default ersetzen.

Fritzew 27. Jan 2017 11:12

AW: Property - nur default überschreiben?
 
Da hilft nur im construktor den neuen Wert setzen.
Wird dann zwar gespeichert aber er ist da....
evtl auch noch loaded überschreiben und da vergleichen ob der Wert auf dem Original Value ist und dann den neuen setzten, könnte
aber zu Problemen führen wenn der Anwender den alten Wert einstellt

DeddyH 27. Jan 2017 11:14

AW: Property - nur default überschreiben?
 
Dann klick doch mal auf den Link und gehe zu "Eigenschaften überschreiben und neu deklarieren".

Uwe Raabe 27. Jan 2017 11:14

AW: Property - nur default überschreiben?
 
Lass mal den Typ weg:

Delphi-Quellcode:
property myProp Default value;


Du musst aber selbst dafür sorgen, daß das Property auch beim Create den neuen Default-Wert bekommt. (D.h. eigentlich musst du das nicht, da der Default-Wert nur der ist, bei dem das Property nicht gestreamt wird.)

Rabenrecht 27. Jan 2017 11:33

AW: Property - nur default überschreiben?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1360164)
Lass mal den Typ weg:

Delphi-Quellcode:
property myProp Default value;


Du musst aber selbst dafür sorgen, daß das Property auch beim Create den neuen Default-Wert bekommt. (D.h. eigentlich musst du das nicht, da der Default-Wert nur der ist, bei dem das Property nicht gestreamt wird.)

Ah, so funktioniert es. Danke :)


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