Guten Morgen, Grishnak.
Ja und Nein. Für den Typ einer property gelten die gleichen Einschränkungen wie für Rückgabewerte von Funktionen.
Delphi-Quellcode:
type
PMyRecord = ^TMyRecord;
TMyRecord = record
S: string;
I: integer;
end;
TMyClass = class
private
FMyRecord: PMyRecord;
public
constructor Create;
destructor Destroy; override;
property MyRecord: PMyRecord read FMyRecord write FMyRecord;
end;
var
MyClass: TMyClass;
constructor TMyClass.Create;
begin
inherited Create;
New(FMyRecord);
end;
destructor TMyClass.Destroy;
begin
Dispose(FMyRecord);
inherited;
end;
procedure TDemoForm.FormCreate(Sender: TObject);
begin
MyClass := TMyClass.Create;
MyClass.MyRecord.S := 'text';
MyClass.MyRecord.I := 5;
ShowMessage(MyClass.MyRecord.S);
MyClass.Free;
end;
Wenn du deinen Record zu einer Klasse machst, dann treten lediglich Create und Free an die Stelle von New und Dispose.
Grüße vom marabu