Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
8. Mär 2021
Damals gab es noch keine Attribute, somit war es standtardmäßig garnicht möglich für Floats einen Default zu definieren.
Seit 12 Jahren ist es aber möglich, womit es keinen Grund mehr gibt, für so einen Bug.
Jupp, und auch andersrum, wenn es Stored True ist, dann muß gespeichert werden. (in diesem Fall darf so ein Default niemals diese Angabe überschreiben, was man auch schon seit Delphi 1...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
8. Mär 2021
Passend zum Default gibt es auch NoDefault, um einen zuvor deklarierten Default zu entfernen.
// Varianten mit Specifiers
property MyValue: Single read FMyValue write FMyValue nodefault stored GetMyValueStored;
property MyValue: Single read FMyValue write FMyValue default 5; // das geht nicht, weil Single kein ordinaler Typ ist
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by himitsu,
8. Mär 2021
Dann wird doch die 5, bzw. 5.0 nicht gespeichert?
Allerdings sollte das DEFAULT garnicht verwendet werden, wenn ein STORED angegeben ist, womit das ein Fehler wäre. :gruebel:
Und ja, das "normale" Default an Properties ist nur für ordinale Typen nutzbar (Byte bis Integer und Enums bzw. Sets)
Daher wurde schon vor Längerem das -Attribut hinzugefügt. (geht auch für Strings)