Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

Re: Standardwert einer Eigenschaft

  Alt 22. Feb 2005, 13:05
Hi Leute,

au weia, ihr seid ja ganz verwirrt!

Zitat von Die Online-Hilfe:
Die optionalen Direktiven stored, default und nodefault sind Speicherangaben. Sie haben keinerlei Auswirkungen auf die Funktionsweise des Programms, sondern steuern lediglich die Verwaltung der Laufzeit-Typinformationen (RTTI). Genauer gesagt bestimmen sie, ob die Werte der published-Eigenschaften in Formulardateien gespeichert werden.
Das heißt, wenn du im OI den default-Wert einträgst, wird die Eigenschaft nicht in der dfm gespeichert.
Zitat von Die Online-Hilfe:
Standardmäßig speichert eine Komponente die Werte aller als public und published deklarierten Eigenschaften in der Reihenfolge ihrer Deklaration. Beim Laden baut sich die Komponente zunächst selbst auf, indem sie alle Eigenschaften auf die Standardwerte setzt. Erst dann werden die gespeicherten, von der Vorgabe abweichenden Werte gelesen.
Damit dürfte klar sein, dass erst der Konstruktor aufgerufen wird, und erst dann die Eigenschaften aus der dfm geladen werden!
Das heißt, wenn du keinen default-Wert in der property angibst, wird der Wert, den du im OI einträgst (oder auch der, der beim Platzieren der Komponente durch den Konstruktor gesetzt wird) auf jeden Fall in der dfm gespeichert. Zur Laufzeit wird erst die Komponente erstellt (beim Laden des Formulars) und dann mit den Eigenschaften aus der dfm bestückt.

MfG
Stevie
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat