Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was bedeutet "stored"? (https://www.delphipraxis.net/113701-bedeutet-stored.html)

Angel4585 13. Mai 2008 10:57


Was bedeutet "stored"?
 
Hallo,

ich hab in TControl folgende Deklaration entdeckt:
Code:
property OnClick: TNotifyEvent read FOnClick write FOnClick stored IsOnClickStored;
Was genau macht dieses "stored"??

Hintergrund: ich mache gerade eine eigene Komponente die ich von TGraphicControl ableite.
Ich möchte das im OnCLick standardmäßig eine Aktion durchgeführt wird, der Anwender jedoch eine OnClick-Methode zuweisen kann. Trotzdem soll diese Standardaktion ausgeführt werden.
Da man bei der Verwendung der Komponente das nicht bemerken soll, soll auch das inherited wegfallen.
Deswegen habe ich geschaut welche Methode ich überschreiben muss um etwas zusätliches auszuführen.
Anders als bei Paint gibts sowas hier scheinbar aber nicht.

:angel:

Die Muhkuh 13. Mai 2008 10:59

Re: Was bedeutet "stored"?
 
Was sagt Dir denn F1 dazu? :zwinker:

DeddyH 13. Mai 2008 11:00

Re: Was bedeutet "stored"?
 
Zitat:

Zitat von 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. Genauer gesagt bestimmen sie, ob die Werte der published-Eigenschaften in der Formulardatei (DFM) gespeichert werden.
Nach der Angabe stored muß der Wert True oder False, der Name eines Booleschen Feldes oder der Name einer parameterlosen Methode folgen, die einen Booleschen Wert zurückgibt. Ein Beispiel:

property Name: TComponentName read FName write SetName stored False;

Wird eine Eigenschaft ohne die Angabe stored deklariert, entspricht dies der Definition stored True.
Nach default muß eine Konstante angegeben werden, die denselben Datentyp wie die Eigenschaft hat:

property Tag: Longint read FTag write FTag default 0;

Mit Hilfe des Bezeichners nodefault kann ein geerbter default-Wert ohne Angabe eines neues Wertes außer Kraft gesetzt werden. 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. Wenn eine solche Eigenschaft ohne default oder nodefault deklariert wird, gilt sie als mit nodefault deklariert. Reelle Zahlen, Zeiger und Strings besitzen den impliziten default-Wert von 0, nil bzw. '' (einen leeren String).

Beim Speichern einer Komponente werden die Speicherbezeichner ihrer published-Eigenschaften überprüft. Wenn sich der aktuelle Wert einer Eigenschaft von ihrem default
-Wert unterscheidet (oder kein default-Wert vorhanden ist) und stored True ist, wird der Wert gespeichert. Treffen diese Bedingungen nicht zu, wird der Wert nicht gespeichert.

Hinweis: Bei Array-Eigenschaften werden Speicherangaben nicht unterstützt. default hat bei diesem Eigenschaftstyp eine andere Bedeutung (siehe Array-Eigenschaften).


Angel4585 13. Mai 2008 11:04

Re: Was bedeutet "stored"?
 
Wir Rüsselmöpse müssen zusammenhalten :lol:

Irgendwie hab ichd as in der Hilfe nich so recht gefunden :duck:

Danke :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz