![]() |
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:
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?
property Directory : String read FDirectory
write SetDirectory; Manchmal werden auch direkt Prozeduren angegeben, wird der Wert dann direkt an diese übergeben? Mfg Salomon |
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.
|
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? |
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. |
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 |
Zitat:
Zum Thema property schau Dir mal mein Tutorial an: ![]() ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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 by Thomas Breitkreuz