Есть код
Код:
type
TRec = record
a:string;
b:string;
end;
TClass1 = class;
TClass2 = class
private
FClass1: TClass1;
function GetC:string;
public
property C:string read GetC;
end;
TClass1 = class
private
FRec:TRec;
FClass2:TClass2;
public
constructor Create;
property Rec:TRec read FRec write FRec;
end;
***
constructor TClass1.Create;
begin
inherited;
FClass2 := TClass2.Create;
FClass2.FClass1 := self;
end;
***
procedure proc1;
var
Class1:TClass1;
begin
Class1 := TClass1.Create;
with Class1.Rec do
begin
a := 'A';
b := 'B';
end;
end;
***
function TClass2.GetC:string;
begin
result := FClass1.Rec.a + FClass1.Rec.b;
end;
В последней функции
result := FClass1.Rec.a + FClass1.Rec.b; хотелось бы упростить. Так как классов на самом деле очень много, обращаться приходится порой так FClass5.FClass4.FClass3.Fclass2.FClass1.Rec...
чтобы этого избежать, нужно в каждом подклассе делать ссылку на TClass1.Rec
Подскажите плиз как?