A:
unit ushared;
interface
type
TFoo = class
private
fStuff: array[1..3] of integer;
public
procedure SetStuff(ArrayIndex, NewValue: integer);
function GetStuff(ArrayIndex: integer): integer;
published
property x: integer index 1 read GetStuff write
SetStuff;
property y: integer index 2 read GetStuff write
SetStuff;
property z: integer index 3 read GetStuff write
SetStuff;
end;
implementation
procedure TFoo.SetStuff(ArrayIndex, NewValue: integer);
begin
fStuff[ArrayIndex] := NewValue;
end;
function TFoo.GetStuff(ArrayIndex: integer): integer;
begin
result := fStuff[ArrayIndex];
end;
end.