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