Witam wszystkich, potrzebuję pomocy przy projektowaniu klasy. Mam np. taki rekord:
TFooRec = record
Counter: Integer;
Index: Integer;
end;
Chcę go wykorzystać w klasie:
TFooClass = class
private
FFooRec: TFooRec;
published
property FooRec: TFooRec read FFooRec;
end;
Ale jest pewna przeszkoda, mianowicie w jaki sposób właściwość FooRec zadeklarować w klasie tak, bym mógł odczytywać Counter jedną procedurą, a Index inną?
Dla przykładu podam kod, który w żadnym wypadku się nie skompiluje, ale może naprowadzi was na sens pytania:
TFooClass = class
private
FFooRec: TFooRec;
function GetCounter: Integer;
function GetIndex: Integer;
published
FooRec: record
property Counter: Integer read GetCounter;
property Index: Integer read GetIndex;
end;
end;
Ten kod się nie skompiluje, ale chodzi mi o to, żeby poszczególne pola rekordu odczytywać innymi funkcjami, ale żebym mógł się do tych właśnie pól rekordu odnosić się w kodzie w taki sposób:
procedure FooProc;
var
FooClass: TFooClass;
Counter: Integer;
begin
{ konstruktor }
Counter := FooClass.FooRec.Counter;
{ destruktor }
end;
Może to i zakręcone ale potrzebuję zgrupować kilka właściwości w jedną, ale żeby można było odczytywać je innymi funkcjami.
Bardzo proszę o pomoc. Pozdrawiam.
PS: Będę jutro rano on-line to kuknę tutaj.