Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Record als Property (https://www.delphipraxis.net/3562-record-als-property.html)

nebukadnezzar 19. Mär 2003 08:24


Record als Property
 
also ich hab sagen wir mal folgenden record
Delphi-Quellcode:
TRec = Record
     Feld1,Feld2:integer;
end
und
Delphi-Quellcode:
Tmyclass = Class
   private
    procedure setdata(D:TRec);
    Function GetData:TRec;
   .
   .
   public
    property Data:Trec read GetData Write SetData;
    .
   end;
so. wie kann ich es nun schaffen das wenn ich
Code:
MyObj.Data:=Rec;
das mittels SetData geschreiben wird
aber bei
Code:
MyOnj.Data.Feld1:=2;
das auch gespeichert wird (ohne setdata!)

sakura 19. Mär 2003 09:13

Re: Record als Property
 
Das GetData muss entfallen und die Property muss direkt zurückgegeben werden
Delphi-Quellcode:
type
  TRec = Record
     Feld1,Feld2:integer;
  end;

  Tmyclass = Class
   private
    FData: TRec;
    procedure setdata(D:TRec);
   .
   .
   public
    property Data:Trec read FData Write SetData;
    .
   end;
...:cat:...

Motzi 19. Mär 2003 09:30

Das geht IMHO nicht.. zumindest nicht mit einer SetData-Methode, vielleicht wenn du auch direkten Schreibzugriff zulässt "write FData")

Aber du könntest auch ein TPersistent-Objekt ableiten, dass dann deine "Untereigenschaften" kapselt.


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