Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Warum wird eins falsche Variable in einem Objekt bearbeitet

  Alt 18. Mär 2014, 15:57
Zitat:
) Du brauchst für Properties, die du direkt liest und schreibst und wo sonst nichts weiter passiert keine extra Getter und Setter. (siehe published-Bereich oben)
Wie das funktioniert weiß ich leider nicht. Ich kenne bislang nur diesen Weg...
Indem du es einfach nur so schreibst

Delphi-Quellcode:
private
  FMyProperty: integer;
public
  property MyProperty: integer read FMyProperty write FMyProperty (default 0);
Das default 0 ist bewusst umklammert und soll heißen, dass du den Default-Wert nicht setzen musst. Der Unterschied zu dieser und der deinen Methode ist, dass hier nicht noch der umständliche Weg über die Getter bzw. Setter Procedure genommen wird, sondern du einfach direkt in dein Feld hinein schreibst. Im Grunde machen deine Getter und Setter nichts anderes, als den übergebenen Wert in dein Feld zu schreiben.

Das heißt:
Delphi-Quellcode:
property User_Abteilung_ID : integer
  read GetUser_Abteilung_ID
  write SetUser_Abteilung_ID;
wird zu:
Delphi-Quellcode:
...
property User_Abteilung_ID : integer read FUser_Abteilung_ID write FUser_Abteilung_ID;
...
Nur dort wo die Werte überprüft werden müssen, die in deine(n) Felder geschrieben/gespeichert werden sollen, dort brauchst du Setter bzw. auch Getter Methoden (wenn diese, möglicherweise abhängig von anderen Werten, noch umgewandelt werden sollen).
  Mit Zitat antworten Zitat