Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Was macht "property"? (https://www.delphipraxis.net/1464-macht-property.html)

Salomon 29. Nov 2002 16:25


Was macht "property"?
 
Hallo,
ich wollte eine Unit für ein Programm schreiben, und bin beim studieren fremder Units darauf gestoßen, das diese den Befehl "property" verwenden. Was genau macht dieser Befehl?

z.B
Code:
        property Directory : String             read FDirectory
                                                 write SetDirectory;
Stellt dieser Code z.B dem Hauptprogram die Variable "Directory" zu Verfügung, wenn sie gelesen wird, wird intern auf die Variable "FDirectory" zugegriffen und beim schreiben auf "SetDirectory". Habe ich das jetzt richtig erkannt?

Manchmal werden auch direkt Prozeduren angegeben, wird der Wert dann direkt an diese übergeben?

Mfg Salomon

Chewie 29. Nov 2002 16:56

Was es genau mit dem Read und dem Write auf sich hat, weiß ich auch nicht genau. Aber das Property bedeutet soweit ich weiß, dass diese Eigenschaft später im Objektinspektor angezeigt wird.

Salomon 29. Nov 2002 16:59

Ja, das kann gut sein.

Muss ich den Property verwenden wenn ich nur eine Unit schreiben möchte, oder geht es auch das ich die Variablen im public Bereich deklariere?

Christian Seehase 29. Nov 2002 17:01

Moin Zusammen,

property ist eine Eigenschaft eines Objektes/einer Komponente, dass heisst ein Datenwert.
Objekte bestehen ja aus Daten und Methoden, und property ist eben ein veröffentlichtes Datum.
Dieses muss übrigens nicht im OI angezeigt werden (dann müsste es im Abschnitt Published stehen).

Mit read und write wird angegeben wohin die Daten bei Zuweisung geschrieben, bzw. woher beim Auslesen geholt werden.
Dazu kann man dann direkt die internen Felder des Objektes angeben, oder aber auch Get- / SetMethoden verwenden, wenn ein direkter Zugriff nicht möglich sein soll.
Zudem genügt es auch nur read oder write anzugegeben. Beides ist nicht nötig.
Wird write weggelassen, handelt es sich im eine ReadOnly Eigenschaft.


Das nur mal so als kurzer Abriss.

Salomon 29. Nov 2002 17:12

Danke Christian Seehase,
jetzt wird mir die Sache schon klarer.
Wo und wie muss ich den jetzt die Variablen in meiner Unit deklarieren, damit ich später dieses im Hauptprogramm verwenden (Werte zuweisen, lesen) kann?

Mfg Salomon

sakura 29. Nov 2002 17:51

Zitat:

Zitat von Salomon
Wo und wie muss ich den jetzt die Variablen in meiner Unit deklarieren, damit ich später dieses im Hauptprogramm verwenden (Werte zuweisen, lesen) kann?

Wenn Du mit Klassen arbeitest, dann solltest Du die Variablen im private Bereich erklären und mit property den Zugriff steuern.

Zum Thema property schau Dir mal mein Tutorial an: http://www.delphipraxis.net/viewtopic.php?t=272 Da geht es zwar um Komponenten, aber das ist zum Thema weniger wichtig.

...:cat:...


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